Модель и симулирует простую машину

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

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

Смоделируйте математический маятник

Этот пример демонстрирует рабочий процесс моделирования Simscape Multibody. В этом примере вы создаете модель маятника, простая система мультитела, включающая одно тело и одно соединение. Вы запускаете путем соединения и конфигурирования блоков, чтобы представлять тело и соединение. Вы затем добавляете дополнительные блоки, чтобы обнаружить и построить движение маятника. Результатом является полная модель, которую можно симулировать, визуализировать и анализировать.

Математический маятник: качающийся стальной стержень

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

Прежде чем вы сконфигурируете блок Ground, необходимо изучить внутренне заданную фиксированную или “абсолютную” систему координат (CS) Simscape Multibody под названием Мир. Мировой CS находится в покое в инерционной системе координат также под названием Мир. Мировой CS имеет источник (0,0,0) и триаду предназначенных для правой руки осей прямоугольной координаты.

Оси Мировой координаты по умолчанию заданы так, чтобы

+x указывает право

+y подчеркивает (сила тяжести в-y направлении)

+z указывает из экрана в трех измерениях

Вертикальное направление или вверх и вниз определяется направлением вектора силы тяжести (ускорение g) относительно Мировых осей. Сила тяжести является фоновым свойством модели, которую вы можете сбросить прежде, чем запустить симуляцию, но динамически не изменяете во время симуляции.

См. Модели Simscape Multibody Конфигурирования в Simulink для отображения глобальных механических свойств моделей Simscape Multibody.

Создайте землю

Мир служит одним абсолютным CS, который задает весь другой CSS. Но можно создать дополнительные наземные точки в покое в Мире, в положениях кроме Мирового источника, при помощи Наземных блоков. Оснуйте блоки, представляя наземные точки, играйте динамическую роль в механических моделях. Они функционируют как неподвижные тела и также служат, чтобы реализовать механическую среду машины.

Минимальные наземные блоки

Каждая модель машины должна иметь по крайней мере один блок Ground. Точно один блок Ground в каждой машине должен быть соединен с блоком Machine Environment.

Наземная точка относительно мира

Шаги, чтобы настроить наземный блок

Теперь поместите фиксированную наземную точку в положении (3,4,5) в Мировом CS:

  1. В библиотеке Simscape Multibody откройте библиотеку Bodies.

  2. Перетащите мышью Землю и блок Machine Environment из библиотеки Bodies в окно модели.

  3. Откройте Наземное диалоговое окно блока. В поле Location [x y z] введите векторный [3 4 5]. Установите флажок Show Machine Environment port. Нажмите OK, чтобы закрыть диалоговое окно. Соедините блок среды.

Оснуйте свойства

В каждой наземной точке автоматически создается Основанный CS:

  • Источник каждого Основанного CS является самой наземной точкой.

  • Основанные оси CS всегда фиксируются, чтобы быть параллельными Мировым осям CS, как показано в фигуре Наземная Точка Относительно Мира.

Сконфигурируйте тело

В то время как вам нужны одна Среда Машины и по крайней мере один блок Ground, чтобы сделать механическую модель, действительная машина состоит из одного или нескольких твердых тел. Это означает, что необходимо перевести компоненты действительной машины в схематические представления.

Несмотря на то, что тело является самым сложным компонентом машины, блок Body не использует полную геометрическую фигуру и массовое распределение тела. Модель Simscape Multibody использует только определенные массовые свойства и упрощенные геометрические данные о центре тяжести тела, его ориентации и системах координат, присоединенных к телу.

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

Характеристики блока тела

Основные характеристики блока Body являются его массовыми свойствами, его положением и ориентацией на пробеле и его присоединенными системами координат Тела (CSS).

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

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

Присоединенный CSS Тела (их источники и оси координат) фиксируется твердо в теле и перемещении с ним. Минимальный набор CS один, CS в CG (CS CG), с его источником CS в центре тяжести тела. Набор CS по умолчанию равняется трем, CS CG и двум дополнительным CSS под названием CS1 и CS2 для соединения с Соединениями с обеих сторон. Смотрите следующий раздел, Сконфигурируйте Соединение.

Вне минимального CS в CG можно присоединить, столько Придает форму CSS на одном Теле, сколько вы хотите. Вам нужен отдельный CS для каждого связанного Соединения, Ограничения или Драйвера и для каждого присоединенного Привода и Датчика.

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

Свойства тела математического маятника

Математический маятник является универсальным, цилиндрическим стальным стержнем длины 1 метр и диаметра 2 см. Начальным условием является стержень, лежащий параллельный отрицательному x - ось, горизонталь в поле силы тяжести. Один конец стержня, фиксированного центра для стержня, чтобы качаться, расположен в наземной точке (3,4,5). Его система координат называется CS1. Центр тяжести и источник CS CG являются геометрическим центром стержня. Возьмите оси CS CG, чтобы быть параллельными Мировым осям, когда вы настраиваете маятник.

Универсальная сталь имеет плотность ρ = 7.93 gm/cc (граммы на кубический сантиметр). В CS CG здесь, тензор инерции I является диагональным, и I zz управляет покачиванием о z - ось в плоскости x-y. Тензор инерции всегда оценивается с началом координат в CG. Для стержня длины L = 1 м и радиус r = 1 см, массовый m = ρπr2L = 2 490 г (граммы) и тензор инерции чтения I

в gm-cm2 (грамм-centimeters2). x - ось является осью симметрии цилиндра. Таким образом I yy = I zz.

Массовые и геометрические свойства тела получены в итоге в следующей таблице и изображены в фигуре Эквивалентный Эллипсоид Математического маятника с Системами координат Тела.

Данные о теле для математического маятника

СвойствоЗначение
Масса (gm)2490
Тензор инерции (kg-m2)[1.25e-4 0 0;
0 0.208 0;
0 0 0.208]
Положение/источник (m) CG[ 2.5 4 5 ]
Источник CS1 (m)[ 3 4 5 ]

Конфигурирование диалогового окна тела

Предпримите шаги к конфигурированию блока Body на нескольких этапах.

Эквивалентный эллипсоид математического маятника с системами координат тела

Добавьте Блок Тела.  Начинать работать с блоком Body:

  1. Откройте библиотеку Bodies в библиотеке Simscape Multibody.

  2. Перетащите мышью блок Body в свое окно модели.

  3. Откройте диалоговое окно блока Тела. Отметьте две основных области, которые необходимо сконфигурировать:

    • Mass properties — Это тензор инерции и масса.

    • Системы координат тела — Это детали о положении и ориентации CSS Тела.

Задайте Массовые Свойства.  Теперь введите массу тела и тензор инерции:

  1. Используйте данные из таблицы Body Data для Математического маятника.

    В поле Mass введите 2490 и измените модули в g (граммы).

  2. В поле Inertia введите [1.25e-4 0 0; 0 0.208 0; 0 0 0.208] и оставьте модули по умолчанию как kg-m2.

Задайте Системы координат Тела (Положение).  Войдите в поступательное положение тела и его источников CS Тела на пробеле:

  1. Используйте данные из таблицы Body Data для Математического маятника и работайте над вкладкой Position. Векторы приняты переведенные из Мирового источника и ориентировались к Мировым осям.

  2. Отметьте три CSS по умолчанию в диалоговом окне Body. CS в CG необходим для любого Тела, и вы соедините CS1 с Землей с Соединением вскоре.

    Удалите CS2 путем выбора его линии в списке CS Тела и нажатия кнопки Delete в средствах управления CS Тела.

    У вас есть два уже существующих CSS не на этом Теле, которое можно использовать, чтобы задать положения источников CS Тела, которые находятся на этом Теле:

    • Существующий ранее Мировой источник в [0 0 0]

    • Смежный CS на соседнем теле, в этом случае Основанный источник CS в [3 4 5]

  3. Задайте CG и источники CS1 относительно Мира:

    1. В выпадающем меню под Translated from Origin of выберите World для обеих систем координат, CG и CS1.

    2. Под Origin Position Vector задайте положение источника каждого CS, переведенного из Мирового источника:

      [3 4 5] для CS1

      [2.5 4 5] для CG

  4. Выберите CS, относительно осей координат которого измеряются компоненты векторов на последнем шаге. Вы выбираете эти оси CS в меню Components in Axes of. Выберите World для обоих CSS. Оставьте модули как m (метры).

Задайте Системы координат Тела (Ориентация).  Введите вращательную ориентацию тела и его осей CS Тела на пробеле:

  1. Работа над вкладкой Orientation. Ориентация по умолчанию для всех осей CS параллельна Миру. Знак всех вращений определяется правилом правой руки.

  2. Для обоих CSS, набор меню Relative to CS к World.

  3. Для CG и CS1, оставьте Orientation Vector в [0 0 0] по умолчанию и Specified Using Convention в Euler X-Y-Z по умолчанию. Закройте диалоговое окно Body.

Сконфигурируйте соединение

Механическая система составлена из Тел с геометрической и массовой информацией. Но Тела не несут информации того, как они перемещаются. Возможные направления движения, что Тело может взять, называются его степенями свободы (число степеней свободы), и этот раздел объясняет, как вы представляете это число степеней свободы Блоками соединений:

Число степеней свободы относительно

Число степеней свободы Simscape Multibody и Соединения, которые представляют их, являются относительным числом степеней свободы. Таким образом, число степеней свободы представляет возможные движения между одним телом и другим. Таким образом, степень свободы задана парой тел, и необходимо соединить каждое Соединение с двумя и только двумя Телами.

Один (но не оба) членов такой пары Тел может быть Земля. Другому комитету-члену такой пары затем задали ее движение относительно фиксированной наземной точки. Эта фиксированная наземная точка не должна совпадать с Мировым источником. Система может иметь много таких пар Наземного Тела и должна иметь по крайней мере один.

Как соединить соединение между двумя телами

Вы представляете относительное движение тел друг относительно друга путем соединения их блоков Тела с Соединениями. Можно соединить Тело с одним или несколькими Соединениями.

Блок соединений всегда соединяется с отдельным моментом на Теле по обе стороны от Соединения. Отдельный момент для привязки Соединения на Теле является источником CS Тела, и Соединение поэтому соединяется на одной стороне с одним Телом в начале координат CS Тела, и с другой стороны к другому Телу в начале координат CS Тела.

Обычно Тело соединяется с Соединением с обеих сторон, таким образом, значением по умолчанию, которое вы видели ранее в этом примере для CSS Тела в диалоговом окне Body, являются три CSS Тела: CS в центре тяжести (CG) и два других CSS (CS1 и CS2). Но Тело в конце Тела — Соединения —... — Цепь тела соединяется только с одним Соединением.

Выбор шарнирного соединения для математического маятника

Несмотря на сложность концепций, неявных в Соединении, фактическая настройка Блока соединений довольно проста. Здесь вы вставляете и конфигурируете один блок шарнирного соединения между блоками Земли и Тела, которые вы уже поместили в окно модели.

Математический маятник, связанный, чтобы основываться вращательным

Сконфигурируйте Блок Шарнирного соединения.  Геометрия Объединенной связи показана на рисунке предыдущий. Наземная точка в (3,4,5) и CS1 в (3,4,5) являются на самом деле той же точкой на пробеле, но были разделены в фигуре для ясности. Вращательная ось вращения приезжает +z направление:

  1. Откройте библиотеку Joints в библиотеке блоков.

  2. Перетащите мышью блок Revolute в свое окно модели.

  3. Поверните блок Revolute так, чтобы можно было соединить основу (B) сторона Соединения с блоком Ground и последователем (F) сторона Соединения с блоком Body. Установите эти две связи.

  4. Откройте диалоговое окно Revolute. В области Parameters, на вкладке Axes, конфигурируют ось вращения к Миру z - ось:

    1. Введите [0 0 1] под Axis of Action [x y z].

    2. Оставьте Reference CS в World.

    3. Проигнорируйте вкладку Advanced.

    Примечание несколько важных вещей:

    • Под Connection parameters Current base расположен в GND@Ground, который является Основанным CS, сопоставленным с блоком Ground, расположенным в (3,4,5) в Мире.

    • Под Connection parameters Current follower расположен в CS1@Body, который является CS1 на Body1, расположенном в (3,4,5) в Мире.

    • Направленность этого Соединения запускается от Земли до Тела вперед +z-axis.

  5. Закройте диалоговое окно Revolute.

Вы теперь закончили самую простую модель машины: связанная блок-схема Наземного Объединенного Тела. Ваше окно модели должно выглядеть так.

Добавьте датчик и запущенную симуляцию

Чтобы измерить движение маятника как, он качается, необходимо соединить один или несколько блоков Simulink® Scope с моделью. Библиотека Simscape Multibody Приводов и блоков Датчика дает вам средние значения Сигналам Simulink ввода и вывода к и из моделей Simscape Multibody. Датчики позволяют вам смотреть механическое движение, если вы запускаете симуляцию, как следующее объясняет:

Соедините и сконфигурируйте датчик

В этом примере вы измеряете угловое движение шарнирного соединения:

  1. В библиотеке блоков откройте библиотеку Sensors & Actuators. Перетащите мышью блок Joint Sensor в свое окно модели.

  2. Откройте блок Revolute. Измените Number of sensor/actuator ports от 0 к 1 использование меню счетчика. Открытый порт коннектора появляется на стороне Вращательных. Закройтесь Вращательный.

  3. Соедините этот порт коннектора с портом коннектора на блоке Joint Sensor. Открытый порт коннектора превращается в тело.

  4. Открытый Объединенный Датчик. Выберите Angle и флажки Angular velocity. Снимите флажок Output selected parameters as one signal.

    Оставьте другие значения по умолчанию. Закройте блок Joint Sensor.

  5. Откройте Браузер Библиотеки Simulink. От библиотеки Sinks перетащите мышью блок Scope и блок XY Graph в ваше окно модели. От библиотеки Signal Routing перетащите мышью блок Mux также. Соедините выходные порты Simulink> на блоке Joint Sensor к Осциллографу и блоках Графика XY как показано.

    Линии от выходных портов > к Осциллографу и Графику XY блоки являются нормальными линиями Сигнала Simulink и могут перейтись. Вы не можете перейти линии, соединяющие блоки Simscape Multibody с каждым другой в круглых портах коннектора.

  6. Сохраните свою модель для дальнейшего использования как spen.mdl.

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

Настройте среду машины и параметры конфигурации

Диалоговое окно Configuration Parameters является стандартной функцией Simulink. Сбросьте его записи для этой модели, чтобы получить более точные результаты симуляции.

  1. В панели меню Simulink откройте меню Simulation и нажмите Configuration Parameters, чтобы открыть диалоговое окно Параметров конфигурации.

  2. Выберите узел Solver диалогового окна. Под Solver options, изменение Relative tolerance к 1e-6 и Absolute tolerance к 1e-4. Измените Max step size в 0.2.

    Если вы хотите, чтобы симуляция продолжила запускаться без остановки, изменять Stop time в inf. Период маятника составляет приблизительно 1,6 секунды.

  3. Закройте диалоговое окно Configuration Parameters.

Специальная функция моделей Simscape Multibody является блоком Machine Environment.

  1. Откройте диалоговое окно блока Machine Environment своей блок-схемы.

    Отметьте Gravity vector по умолчанию, [0 -9.81 0] m/s2, который указывает в-y направлении, как показано в фигуре Эквивалентный Эллипсоид Математического маятника с Системами координат Тела. Гравитационное ускорение g = 9.81 m/s2.

  2. Закройте диалоговое окно Среды Машины.

Запустите симуляцию

Можно теперь запустить симуляцию и смотреть движение маятника через Осциллограф и блоки Графика XY:

  1. Откройте диалоговое окно блока Графика XY. Установите следующие параметры.

    Параметр Значение
    x-min0
    x-max200
    y-min-500
    y-max500

    Оставьте Sample time в значении по умолчанию и закройте диалоговое окно.

  2. Откройте блок Scope и запустите модель. График XY открывается автоматически, когда вы запускаете симуляцию.

  3. Просмотрите полное движение и угла и скорости вращения (в градусах и степени в секунду, соответственно) как функции времени в Осциллографе. Нажмите Autoscale, если движение не полностью отображается.

    Движение является периодическим, но не простая (синусоидальная) гармоника, потому что амплитуда колебания является настолько большой (180 градусов от одного поворотного момента до другого). Обратите внимание на то, что нуль угла является начальным горизонтальным углом, не вертикалью. Нули движения всегда являются начальными условиями.

График XY показывает угол по сравнению со скоростью вращения без явной оси времени. Эти две переменные прослеживают фигуру, похожую на эллипс из-за сохранения полной энергии E:

где J = I zz + mL2/4 является инерционным моментом стержня о его точке опоры (не центр тяжести). Два условия на левой стороне этого уравнения являются кинетическими и потенциальными энергиями, соответственно. Пробел координатной скорости является фазовым пространством системы.

График фазового пространства движения математического маятника: скорость вращения по сравнению с углом

Направленность Шарнирного соединения принимает, что ось вращения находится в +z направлении. При рассмотрении маятника от передней стороны следуйте за фигурами

Положительное угловое движение с этой точки зрения против часовой стрелки, после правила правой руки.

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