Нахождение сил от движений

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

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

Об обратной динамике

Режимы Simscape Multibody Kinematics и Inverse Dynamics позволяют вам найти все силы на машине с обратной связью или открытой машине, соответственно, учитывая модель, которая полностью задает движения системы. (См. Выбор Аналитического Режима),

Можно использовать режим Forward Dynamics, чтобы анализировать обратную динамику, но эти два альтернативных режима более эффективны: различающийся режим Forward Dynamics, они не должны вычислять положения, скорости и ускорения компонентов модели, потому что модель задает их. Следовательно, режимы Kinematics и Inverse Dynamics занимают меньше времени, чем Прямая Динамика, чтобы вычислить силы в системе. Экономия времени зависит от размера и сложности симулируемой системы.

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

Создавание кинематических моделей

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

Приведение в действие независимых степеней свободы

Модель не должна приводить в движение каждое соединение, чтобы задать полностью движения системы. На самом деле, потребность модели приводят в движение только столько же соединений, сколько существуют независимые степени свободы в системе. (См. Степени свободы Модели подсчета.), Например, модель четырехзвенного механизма должны привести в движение только одно из соединений механизма, потому что четырехзвенный механизм имеет только одну степень свободы. Чтобы постараться не сверхограничивать решение модели, количество приводимых в движение соединений не должно превышать количество независимых степеней свободы.

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

Попытка симулировать сверхограниченную модель заставляет Simulink® останавливать симуляцию с ошибкой.

Обратный режим динамики с двойным маятником

Внимание

Режим Inverse Dynamics работает только над открытой топологией и требует приведения в действие движения каждая независимая степень свободы (см. Степени свободы Модели подсчета).

Рассмотрите двойной маятник, состоящий из двух тонких стержней каждый 1 метр длиной и весящий 1 килограмм. Верхний стержень первоначально вращается 15 градусов перпендикуляра.

Предположим, что вы хотите, чтобы маятник следовал за определенной траекторией. Сколько крутящего момента требуется, чтобы заставлять маятник следовать за этим предписанным движением? Решение этой задачи влечет за собой создавание кинематической модели движущегося маятника.

  • Модель должна представлять геометрию двойного маятника и задать его траекторию движения в течение симуляции.

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

    Кроме простых случаев, можно найти эти вычисленные крутящие моменты только как аппроксимированные функции времени.

Кинематическая модель может проявить разные подходы к определению начального состояния маятника.

  • Один подход использует параметры блоков Тела, чтобы задать начальные состояния.

  • Другой подход использует блоки-сигналы Привода.

Используя блоки тела, чтобы задать начальные условия

Откройте модель mech_dpend_invdyn1. Это иллюстрирует подход блока Body к моделированию начальных состояний.

Эта модель представляет маятник двумя блоками Тела и двумя блоками Шарнирного соединения.

  • Ось CS1 верхней части тела (B1) маятника вращается 15 градусов перпендикуляра (см. аннотацию для блока B1).

  • Системы координат для более низкого блока (B2) выравниваются с CS1 верхнего блока. CS1 B2 вращается-15 градусов относительно CS1 B1, т.е. это перпендикулярно системе Мировой координаты.

Используя блоки привода, чтобы задать начальные состояния

Откройте модель mech_dpend_invdyn2. Это показывает использование Объединенных блоков Привода, чтобы задать начальное кинематическое состояние. Используя приводы, чтобы определить перемещение немного упрощает настройку блоков Тела.

Определение движения и измерение вычисленных крутящих моментов

В любой модели Объединенные блоки Привода, соединенные с Блоками соединений, указывают, что верхние и более низкие соединения ускоряются на двух отличных уровнях, 2 и-1 degrees/second2, соответственно. Блоки датчика, соединенные с С блоками Рабочей области, измеряют вычисленные крутящие моменты на верхних и более низких соединениях как переменные torque_upper рабочей области MATLAB® и torque_lower, соответственно. Эти векторы получают верхние и более низкие вычисленные крутящие моменты на каждом главном временном шаге. Необходимо симулировать любую модель в режиме Inverse Dynamics, чтобы вычислить объединенные крутящие моменты, требуемые обеспечить маятник в его движении.

Используя вычисленные крутящие моменты в прямой динамике

Если вы знаете вычисленные крутящие моменты как функции времени, можно проверить, что это правильные ответы путем создания версии модели, которая применяет вычисленные крутящие моменты к соединениям и симуляции что модель в режиме Forward Dynamics.

Откройте модель mech_dpend_act. Это иллюстрирует прямую версию динамики кинематической модели, которая использует объединенные приводы, чтобы определить начальное угловое перемещение корпусов маятника.

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

Из MAT-файла модель загружает верхние и более низкие крутящие моменты, torque_lower_fcn и torque_upper_fcn, как две матрицы, представляющие дискретные функции времени. Симуляция этой модели в режиме Forward Dynamics приводит к следующему отображению на верхнем объединенном осциллографе.

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

Делание более точных измерений крутящего момента

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

Режим кинематики с машиной четырёхзвенника

Внимание

Режим Kinematics работает только над закрытой топологией и требует приведения в действие движения каждая независимая степень свободы (см. Степени свободы Модели подсчета).

Кроме того, не должно быть никаких Объединенных Приводов Прилипания и никаких неголономных ограничений.

Считайте систему четырёхзвенника проиллюстрированной примером названная Модель и Симулируйте Машину С обратной связью. Моделью является mech_four_bar.

Предположим, что вы хотите помешать этой системе выходить из строя под ее собственным весом. Поскольку четырёхзвенник имеет только одну степень свободы, применяясь против часовой стрелки, крутящий момент к соединению пометил Revolute1, выполнит эту цель. Но сколько крутящего момента достаточно?

Чтобы ответить на этот вопрос, необходимо создать кинематическую модель стационарной системы четырёхзвенника, начиная с учебной модели. Кинематическая модель должна задать, как система перемещается в зависимости от времени. В этом случае четырёхзвенник остается стационарным. Можно использовать Объединенный Привод, чтобы реализовать это требование.

Преобразование вперед в обратную динамику

Откройте модель mech_four_bar_kin, выведенный from mech_four_bar.

  • Модель использует блок Joint Actuator, управляемый блоком Constant, чтобы задать движение на соединении Revolute1. Блок Constant выводит трехэлементный вектор, который задает угловое положение, скорость и ускорение, соответственно, соединения как 0.

  • Модель использует блок Joint Sensor, соединенный с блоком Scope, чтобы отобразить получившийся крутящий момент на соединении и блоке To Workspace, чтобы сохранить сигнал крутящего момента в рабочее пространство MATLAB.

Нахождение и проверка необходимого крутящего момента

Теперь получите и проверьте обратное решение для динамики вопроса.

  1. Запустите эту модель в режиме Kinematics. Выход показывает, что крутящий момент на соединении Revolute1 составляет 27,9 ньютон-метров, с точностью допусков блока, заданных в блоке Machine Environment.

  2. Чтобы проверить, что вычисленный крутящий момент является, действительно, крутящим моментом, требуемым сохранить систему стационарной, создают модель прямой динамики, которая применяет вычисленный крутящий момент к соединению Revolute1. Откройте такую модель, содержавшуюся в mech_four_bar_stat.

  3. Запустите модель в режиме Forward Dynamics с Угловым открытым Осциллографом Revolute1.

    Отображение Осциллографа показывает, что машина действительно, действительно, остается стационарной, несмотря на то, что только в течение приблизительно 0,4 секунд. Выведенная вычисленная сила не точна, и модель, начинает нелинейные колебания после этого периода.

Совет

Можно уменьшать погрешность выведенной вычисленной силы путем повторного выполнения mech_four_bar_kin модели с более ограниченным решателем, блоком и допусками ограничения. Для самой высокой точности (по большей вычислительной стоимости), рассмотрите переход к ограничительному решателю точности машины. См. Методы Конфигурирования Решения.