Падение тела в Simscape Multibody: 6-DOF Joint.

Имеется некоторое тело, начальная скорость равна нулю. Тело не закреплено и падает. Задача — изобразить график зависимости координаты от времени. Моделирование свободно падающего тела осуществляется с помощью блока 6-DOF Joint.

Координата вычисляется так:

Z=-g t^{2}/2

Теория в Википедии. Начальную координату считаем нулевой, как и начальную скорость.

Она, как не трудно видеть из формулы, не зависит от массы. Тем не менее, масса у тела в модели есть. На результаты это не повлияет. Модель выглядит так:

Simscape Multibody и 6-DOF Joint - Падающее тело. Схема.
Simscape Multibody — Падающее тело. Схема. Система координат Base блока 6-DOF Joint соединена с мировой системой координат (World Frame). Система координат Follower этого же блока соединена с телом Solid, которое падает. PZ — сенсорный порт.

Роль тела выполняет блок Solid. Для моделировании свободно падающего тела задействован блок 6-DOF Joint, дающий 6 степеней свободы в перемещениях системы координат F (соединена с СК «R» твердого тела Solid)относительно системы координат B (соединена с World Frame). Блоки PS-Simulink Converter и Scope нужны для отображения графика. Три блока: Solver Configuration, World Frame и Mechanism Configuration стандартные и необходимы для любой модели. Они задают тип решателя, мировую СК (вроде точки отсчета), а в блоке конфигурации механизма указывается, куда действует сила тяжести.

Чтобы не вытаскивать все блоки из библиотеки вручную, можно воспользоваться командой «smnew» (в командной строке MATLAB). Это создаст набор блоков автоматически, не нужные — удалить.

Результаты  моделирования такие:

Simscape Multibody - Падающее тело. Результаты.
Simscape Multibody — Падающее тело. Результаты. Маркеры включаются кнопкой с линейкой на панели инструментов (нажата). Маркеры можно таскать в окне графика, можно, кроме того, вписывать нужные значения переменной времени в текстбоксы Time. На графике показана зависимость координаты центра тяжести тела от времени.

Чтобы увидеть график, нужно запустить модель, предварительно открыв окно блока Scope двойным щелчком на самом блоке.

Корректность результатов подтверждается расчетами по приведенной формуле.

Сенсорный порт на блоке 6-DOF Joint нужно включать, выбрав правильную координату. В нашем случае, ускорение свободного падения действует в направлении оси Z (настройки блока Mechanism Configuration по умолчанию). Открываем настройки блока 6-DOF Joint двойным щелчком и настраиваем сенсорный порт так:

Simscape Multibody - Падающее тело. Настройки сенсора позиции Z.
Блок 6-DOF Joint:. Настройки сенсора позиции Z.

Если дважды продифференцировать функцию координаты по времени, получится ускорение свободного падения. Знак минус — т.к. вниз направлено (против оси). Ниже приведены иллюстрации видоизмененной схемы, результата и окно настроек для смены разрешения по времени:

Дифференцирование координаты
Simscape Multibody — Падающее тело. Дифференцирование координаты
Ускорение свободного падения
Simscape Multibody — Падающее тело. Ускорение свободного падения =-9.807. В начале графика ускорения имеется неточность, связанная с тем, что дифференцирование численное. Чем выше разрешение по времени, тем менее выделяется неточность.
Настройка шага по времени
Настройка шага по времени. В рабочем окне модели (где схема): Simulation — Model Configuration Parameters — Solver. Выбрал фиксированный шаг 0.1 с.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.