Модель и моделирует машину с обратной связью

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

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

Смоделируйте четыре механизма панели

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

Вас убеждают работать через Модель и Моделировать Простую Машину и Визуализировать Простую Машину перед продолжением этого раздела.

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

Четыре механизма панели

Элементарные части механизма являются телами, в то время как шарнирные соединения являются идеализированными вращательными степенями свободы (DoFs) в каждой точке тела к физическому контакту. Тела и соединения, выражающие относительные движения тел, должны быть переведены в соответствующие блоки Simscape Multibody. Если вы хотите, можно добавить разработки, такие как Ограничения, Драйверы, Датчики и Приводы к этой существенной блок-схеме.

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

Считайте степени свободы

Три движущихся панели ограничиваются переместиться в плоскость. Таким образом, каждая панель имеет два переводных и один вращательный DoFs, и общее количество механического DoFs, перед считением ограничений, равняется 3* (2+1) = 9.

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

  • В двух измерениях каждая связь тела с другим телом или с наземной точкой вводит два ограничения (один для каждого координатного направления).

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

  • Существует четыре таких тела-тела или заземления тела и поэтому восемь ограничений, неявных в геометрии машины.

Эти восемь ограничений на девять очевидных DoFs уменьшают DoFs до один, 9 - 8 = 1. Существует четыре вращательных DoFs между панелями или между панелями и территорией. Но три из них зависят. Определение состояния одной вращательной степени свободы полностью задает другие три.

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

Откройте новое пустое окно модели от библиотеки Simscape Multibody. От библиотеки Bodies притяните и пропустите блок Machine Environment и блок Ground. Включите порт Ground's Machine Environment и соедините блок среды с Землей.

Сначала необходимо сконфигурировать механические настройки машины. Откройте блок Machine Environment. Диалоговое окно блока появляется.

Вкладки диалогового окна среды машины

Кликните по четырем вкладкам по очереди, чтобы отобразить каждую панель.

ВкладкаФункция
ParametersСредства управления общие настройки для механических симуляций
ConstraintsДопуски ограничения наборов и как интерпретированы ограничения
LinearizationСредства управления, как модели Simscape Multibody линеаризуются с Simulink®
VisualizationВыбирает, визуализировать ли машину

Отметьте некоторые важные функции этого диалогового окна:

  • Поле Gravity vector задает значение и направление гравитационного ускорения и устанавливает вертикаль или вниз направление.

  • Поля Linear и Angular assembly tolerance также установлены здесь. Измените Angular assembly tolerance на 1e-3 deg (степени). (См. блок Машины Управления.)

  • Оставьте другие значения по умолчанию.

Закройте диалоговое окно путем нажатия на OK.

Запуск визуализации

Совет

Если возможно, открытый окно визуализации прежде, чем создать модель. С ним можно отслеживать компоненты модели и как они соединяются, а также исправляют ошибки.

Чтобы визуализировать тела, когда вы создаете модель, перейдите к узлу Simscape Multibody диалогового окна Параметров конфигурации:

  1. Установите флажок Display machines after updating diagram. Если вы хотите анимировать симуляцию позже, когда вы запускаете модель, устанавливаете флажок Show animation during simulation также. Нажмите OK или Apply.

    Затем выберите Update Diagram из меню Edit или введите Crtl+D на клавиатуре. Окно визуализации открывается.

  2. В меню Model выберите Body Geometries, затем Ellipsoids.

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

Настройте блок-схему

В этом наборе шагов вы создаете Тела, располагаете их, соединяете их с Соединениями, затем конфигурируете свойства Body и Joint. Диалоговые окна Body дают вам много способов представлять ту же систему в том же физическом состоянии. Этот раздел объясняет один путь.

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

Ввод данных MAT-файла

Геометрические и массовые свойства, которые необходимо задать для Территории и Тел в этой модели, перечислены в таблицах следующих двух разделов, Конфигурируют Землю и Соединения и Конфигурируют Тела.

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

load fourbar_data

в командной строке MATLAB®. Имя переменной для каждого свойства дано в таблицах. Только введите соответствующие имена переменных в соответствующие поля, когда вы приезжаете к ним в диалоговых окнах.

Если вы работаете с онлайновой Справкой, можно щелкнуть здесь, чтобы загрузить файл fourbar_data.mat в рабочую область.

Setup блок-схемы

Ваша модель уже имеет один блок среды и один наземный блок. Соберите полную модель с этими шагами:

  1. В библиотеке блоков откройте библиотеку Bodies. Перетащите мышью другой блок Ground и три блока Тела в новое окно модели. Закройте библиотеку Bodies.

  2. От библиотеки Joints перетащите мышью четыре Закрученных назад блока в окно модели.

  3. Вращайте и соедините блоки в шаблоне, показанном в следующей фигуре или с эквивалентной топологией блок-схемы.

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

    Связанная среда, земля, тело и объединенные блоки для четырех панелей

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

Чтобы поддержать сопоставимое направление движения Тела, убедитесь, что пары порта системы координат (CS) Тела на каждом Теле следуют за последовательностью CS1-CS2, CS1-CS2, и т.д., для каждой панели, перемещающейся от Ground_1 до Ground_2, справа налево, как показано. Чтобы сделать Соединения сопоставимыми с движением Тела, пары основного последователя B-F, B-F, и т.д., должен следовать за тем же самым справа налево последовательность.

Сконфигурируйте землю и соединения

Теперь сконфигурируйте Наземные блоки с данными из следующей таблицы. Основанные системы координат (CSS) автоматически создаются.

Геометрия четырех основ панели

Эта таблица суммирует геометрию наземных точек.

Геометрические свойства четырех территорий панели

СвойствоЗначениеПеременная MAT-файла
Точка (m) Ground_1[ 0.433 0.04 0 ]gpoint_1
Точка (m) Ground_2[-0.434 0.04 0 ]gpoint_2

Основа механизма имеет эти измерения:

  • Основа является горизонталью с длиной 86,7 см.

  • Ground_1 представляет наземную точку 43.3 cm справа от Мирового источника CS.

  • Ground_2 представляет наземную точку 43.4 cm слева от Мирового источника CS.

  • Нижняя часть revolutes является на 4 см выше источника (x-z) плоскостью.

Создайте территорию

Чтобы представлять наземные точки на неподвижной основе, необходимо сконфигурировать Наземные блоки. Используйте имена переменных, если вы загрузили fourbar_data.mat в свою рабочую область:

  1. Откройте Ground_1 и введите [ 0.433 0.04 0 ] или gpoint_1 в поле Location.

  2. Откройте Ground_2 и введите [-0.434 0.04 0 ] или gpoint_2 в поле Location.

  3. Оставьте оба выпадающих меню для модулей в m по умолчанию (метры).

Сконфигурируйте шарнирные соединения

Три неоснованных панели перемещаются в плоскость вашего экрана (плоскость x-y), таким образом, необходимо сделать все Закрученные назад оси z - ось (из экрана):

  1. Откройте диалоговое окно каждого Револьюта в свою очередь. В его области Parameters, примечании по вкладке Axes, что z - ось является значением по умолчанию: Axis of Action установлен в [0 0 1] в каждом относительно Reference CS World. Оставьте эти значения по умолчанию.

    Блок Revolute содержит только одно примитивное соединение, одну закрученную назад степень свободы. Таким образом, Primitive является автоматически revolute. Его именем в блоке является R1.

  2. Оставьте эти значения по умолчанию блока Шарнирного соединения и проигнорируйте вкладку Advanced.

CS Тела и направленность соединения основного последователя должны быть настроены как показано в блок-схеме фигуры Связанная Среда, Земля, Тело и Объединенные Блоки для Четырех Панелей. В области Connection parameters Объединенная направленность по умолчанию для каждого Закрученного назад автоматически следует справа налево последовательность CSS Тела и Основанных:

  • Revolute1: Основа последователю: GND@Gound_1 к CS1@Bar1

  • Revolute2: Основа последователю: CS2@Bar1 к CS1@Bar2

  • Revolute3: Основа последователю: CS2@Bar2 к CS1@Bar3

  • Revolute4: Основа последователю: CS2@Bar3 к GND@Ground_2

В этом Объединенном соглашении направленности,

  • В каждом Соединении влево Тело перемещается относительно правого Тела.

  • Ось вращения указывает в +z направлении (из экрана).

  • Смотря на механизм от передней стороны в фигуре, Четыре Механизма Панели, положительный вращательный смысл против часовой стрелки. Все Объединенные данные о Датчике и Приводе интерпретированы в этом смысле.

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

Установка свойств Body подобна для каждой панели, но с различными значениями параметров ввел в каждое диалоговое окно:

  • Массовые свойства

  • Длины и ориентации

  • Центр тяжести (CG) положения

  • Системы координат тела (CSS)

В отличие от первого примера, где вы задаете свойства Body CS относительно абсолютного Мирового CS в этом примере, вы задаете источники CS Тела на панелях в относительных координатах, перемещая Bar1 CS1 относительно Ground_1, Bar2 CS1 относительно Bar1, и так далее, вокруг цикла. Можно отослать определение CS Тела к трем типам систем координат:

  • К миру

  • К другому CSS Тела на том же Теле

  • К Смежному CS (система координат на соседнем теле или земле, непосредственно соединенной Соединением с выбранным CS Тела).

Компоненты векторов смещения для каждого источника CS Тела продолжают ориентироваться относительно Мировых осей. Вращение осей CS CG каждого Тела также относительно Мировых осей в соглашении X-Y-Z Эйлера.

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

Масса Bar1 и данные о CS тела (модули MKS)

СвойствоЗначениеИмя переменной
Масса5.357m_1
Тензор инерции[1.07e-3 0 0;
0 0.143 0;
0 0 0.143]
inertia_1
Источник CG[0.03 0.282 0] от CS1 в осях Worldcg_1
Источник CS1[0 0 0] от Adjoining в осях Worldcs1_1
Источник CS2[0.063 0.597 0] от CS1 в осях Worldcs2_1
Ориентация CG[0 0 83.1] от World в соглашении Euler X-Y-Zorientcg_1

Масса Bar2 и данные о CS тела (модули MKS)

СвойствоЗначениеИмя переменной
Масса9.028m_2
Тензор инерции[1.8e-3 0 0;
0 0.678 0;
0 0 0.678]
inertia_2
Источник CG[-0.427 -0.242 0] от CS1 в осях Worldcg_2
Источник CS1[0 0 0] от Adjoining в осях Worldcs1_2
Источник CS2[-0.87 -0.493 0] от CS1 в осях Worldcs2_2
Ориентация CG[0 0 29.5] от World в соглашении Euler X-Y-Zorientcg_2

Масса Bar3 и данные о CS тела (модули MKS)

СвойствоЗначениеИмя переменной
Масса0.991m_3
Тензор инерции[2.06e-4 0 0;
0 1.1e-3 0;
0 0 1.1e-3]
inertia_3
Источник CG[-0.027 -0.048 0] от CS1 в осях Worldcg_3
Источник CS1[0 0 0] от Adjoining в осях Worldcs1_3
Источник CS2[0 0 0] от Adjoining в осях Worldcs2_3
Ориентация CG[0 0 60] от World в соглашении Euler X-Y-Zorientcg_3

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

Вот общие шаги для конфигурирования диалоговых окон Тела всех трех панелей. Смотрите, что три предшествуют таблицам для свойства массы диалогового окна Body (масса и тензор инерции) записи. Модули являются MKS: длины в метрах (м), массы в килограммах (кг) и тензоры инерции в килограмме-meters2 (kg-m2).

  1. Откройте все три диалоговых окна Тела для каждой панели. Введите массовые свойства для каждого из таблиц в полях Mass и Inertia.

  2. Теперь работайте в области систем координат Тела, вкладке Position:

    1. Установите меню Components in Axes of, для каждого CS Тела на каждой панели, к World.

    2. Оставьте модули как m по умолчанию (метры).

  3. Установите свойства Body CS для каждого CS Тела на каждой панели от данных предыдущих таблиц:

    1. Введите данные о положении источника CS Тела для CG, CS1 и CS2 на каждой панели из таблиц или от соответствующих переменных MAT-файла.

    2. Установите записи меню Translated from Origin of для каждого CS Тела на каждой панели согласно значениям в таблицах.

  4. Выберите вкладку Orientation путем нажатия на ее вкладку:

    1. Введите Orientation Vector для CG на каждой панели из таблиц или от соответствующих переменных MAT-файла.

    2. Выберите World for Relative CS в каждом случае.

    3. Покиньте другие поля в их значениях по умолчанию.

Визуализируйте тела

Вид спереди четырех механизмов панели, с телами, отображенными как эквивалентные эллипсоиды, выглядит так:

Обнаружьте движение и запущенную симуляцию

Вы закончили создавать свою модель путем устанавливания начальных условий и вставки Датчиков.

Прежде чем вы запустите симуляцию, необходимо установить ее кинематические или начальные условия состояния. Они включают положения/углы и линейные/угловые скорости. Эта информация, начальное кинематическое состояние машины, обсуждена далее в состоянии Движения Кинематики и Машины и Применении Движений и Сил.

Можно обнаружить движение в любой модели двумя основными способами: обнаружение тел или обнаружение соединений. Здесь вы обнаруживаете Совместное движение, с помощью Объединенных блоков Датчика и питая их Сигнал Simulink выходными параметрами, чтобы Определить объем блоков.

Внимание

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

Поэтому вы не можете соединить Наземные блоки с блоками Привода или Датчика.

Соедините объединенные датчики

Обнаруживать движение блоков Revolute2 и Revolute3,

  1. От библиотеки Sensors & Actuators перетащите мышью два Объединенных блока Датчика в окно модели. Перетащите Объединенный Датчик рядом с Revolute2 и Объединенный Sensor1 рядом с Revolute3.

  2. Прежде чем можно будет присоединить блок Joint Sensor к блоку Revolute, необходимо создать новый открытый круглый порт коннектора на Закрученном назад. Откройте диалоговое окно Revolute2:

    1. В области Connection parameters в середине настройте меню Number of sensor/actuator ports счетчика к значению 1. Нажмите OK.

      Новый порт коннектора появляется на Revolute2.

    2. Соедините этот порт коннектора с открытым круглым портом коннектора на Объединенном Датчике.

  3. Теперь повторите те же шаги с Revolute3:

    1. Создайте один новый порт коннектора на Закрученных назад 3.

    2. Соедините этот порт, чтобы Соединить Sensor1.

  4. Обязательно соедините выходные порты, которые > Датчика блокирует к блоку Simulink Sink. Этими выходными портами являются нормальные Сигналы Simulink.

Постройте совместное движение

Здесь можно просмотреть Объединенные измерения Датчика Revolute2 и движений Revolute3 с помощью блока Scope от библиотеки Simulink Sinks:

  1. Откройте Браузер Библиотеки Simulink. От библиотеки Sinks перетащите мышью блок Scope в свое окно модели промежуточный Объединенный Датчик и Объединенные блоки Sensor1. Переименуйте блок Scope “Угол”.

  2. Откройте блок Angle. На панели инструментов этого окна scope откройте поле Parameters. Под Axes, сброс Number of axes к 2. Нажмите OK. Второй импорт > появляется на блоке Angle.

  3. Расширьте окно scope для простоты просмотра.

  4. Соедините выходные порты блока Joint Sensor и Joint Sensor1, > к блоку Angle импортирует >.

  5. Открытый объединенный датчик и объединенный Sensor1:

    1. В области Measurements Connected to primitive установлен в R1 в обоих блоках, указав на первый и единственный примитив, закрученный назад в Revolute2 и Revolute3, с которым может быть соединен каждый Датчик.

    2. Установите флажок Angle, чтобы измерить только угол. Оставьте модули в значении по умолчанию как deg (степени). Строка Simulink будет содержать один скаляр.

Ваша завершенная модель должна выглядеть подобной модели mech_four_bar в качестве примера.

Внимание

Датчик и блоки Привода являются единственными блоками, которые могут соединить блоки Simscape Multibody с нормальными блоками Simulink.

Сконфигурируйте и запущенная симуляция

Теперь сделайте последние шаги, чтобы подготовить и запустить модель:

  1. В меню Simulation окна модели выберите Configuration Parameters:

    1. В узле Solver измените Absolute tolerance на 1e-6.

    2. Оставьте другие значения по умолчанию и нажмите OK.

  2. Теперь запустите модель путем нажатия на Start на панели инструментов Simulink. Четыре механизма панели подпадут под влияние силы тяжести.

Отметьте некоторые функции симуляции:

  • В этом примере механизм начинает с отдыха с начальными скоростями в нуле. Таким образом начальное состояние четырех систем панели является только геометрическим состоянием, что вы настраиваете в Настроенном Блок-схему.

  • Блок сначала падает направо, и угловые уменьшения Revolute2.

  • Повороты Bar3 полностью вокруг, и Bar2 и Bar1 возвращаются налево. Угол Revolute2 инвертирует направление. Revolute3 развертывается через полный поворот. Углы сопоставлены с интервалом (-180o, +180o], и покажите разрывы.

  • Движение периодически повторяется, когда нет никакого трения.

Анимация

Если вы оставляете свое окно визуализации открытым в то время, когда вы запускаете симуляцию и устанавливаете флажок Animate machine during simulation в узле Simscape Multibody диалогового окна Параметров конфигурации, визуализируемых перемещений машины в ногу с симуляцией.

Можно теперь сравнить анимированное движение с графиками Осциллографа Revolute2 и углов Revolute3.