Это содержимое характерно для программного обеспечения Simscape™ Multibody™ First Generation. Функции первого поколения намечают, чтобы быть удержанными от использования и нужно избежать.
В этом примере вы создаете модель плоского, четырехзвенного механизма и практики с помощью некоторых важных функций Simscape Multibody.
Вас убеждают работать через Модель и Симулировать Простую Машину и Визуализировать Простую Машину перед продолжением этого раздела.
Система состоит из трех движущихся панелей гомогенной стали, двух соединенных в одном конце каждый, чтобы основать точки и третью перемычку, соединяющую первые два. Низкие поступки как неподвижная четвертая панель, с Землей в каждом конце. Механизм формирует один замкнутый цикл, и его движение ограничено двумя размерностями.
Четырехзвенный механизм
Элементарные части механизма являются телами, в то время как шарнирные соединения являются идеализированными вращательными степенями свободы (число степеней свободы) в каждой точке тела к физическому контакту. Тела и соединения, выражающие относительные движения тел, должны быть переведены в соответствующие блоки Simscape Multibody. Если вы хотите, можно добавить разработки, такие как Ограничения, Драйверы, Датчики и Приводы к этой существенной блок-схеме.
Следующий рисунок показывает подробный схематический из четырехзвенного механизма.
Три движущихся панели ограничиваются переместиться в плоскость. Таким образом, каждая панель имеет два поступательных и вращательные степени свободы, и общее количество механического числа степеней свободы, перед считением ограничений, равняется 3* (2+1) = 9.
Поскольку движение панелей ограничивается, однако, не, все эти девять чисел степеней свободы независимо:
В двух измерениях каждая связь тела с другим телом или с наземной точкой вводит два ограничения (один для каждого координатного направления).
Такое ограничение эффективно устраняет один из двух концов тела как независимое перемещение точек, потому что его движение определяется к концу следующего тела.
Существует четыре таких тела-тела или заземления тела и поэтому восемь ограничений, неявных в геометрии машины.
Эти восемь ограничений на девять очевидных чисел степеней свободы уменьшают число степеней свободы до один, 9 - 8 = 1. Существует четыре вращательных степени свободы между панелями или между панелями и территорией. Но три из них зависят. Определение состояния одной вращательной степени свободы полностью задает другие три.
Откройте новое пустое окно модели от библиотеки 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 диалогового окна Параметров конфигурации:
Установите флажок Display machines after updating diagram. Если вы хотите анимировать симуляцию позже, когда вы запускаете модель, устанавливаете флажок Show animation during simulation также. Нажмите OK или Apply.
Затем выберите Update Diagram из меню Edit или введите Crtl+D на клавиатуре. Окно визуализации открывается.
В меню Model выберите Body Geometries, затем Ellipsoids.
Как вы добавляете и изменяете тела в своей модели, можно обновить отображение в окне в любое время путем обновления схемы.
В этом наборе шагов вы создаете Тела, располагаете их, соединяете их с Соединениями, затем конфигурируете свойства Body и Joint. Диалоговые окна Body дают вам много способов представлять ту же систему в том же физическом состоянии. Этот раздел объясняет один путь.
Альтернативные, эквивалентные способы сконфигурировать Тела обсуждены в Системах координат Тела.
Геометрические и массовые свойства, которые необходимо задать для Территории и Тел в этой модели, перечислены в таблицах следующих двух разделов, Конфигурируют Землю и Соединения и Конфигурируют Тела.
Вместо того, чтобы ввести численные значения этих свойств в диалоговые окна, можно загрузить переменную, устанавливает вас потребность в рабочую область путем ввода
load fourbar_data
в командной строке MATLAB®. Имя переменной для каждого свойства дано в таблицах. Только введите соответствующие имена переменных в соответствующие поля, когда вы приезжаете к ним в диалоговых окнах.
Если вы работаете с онлайновой Справкой, можно щелкнуть здесь, чтобы загрузить fourbar_data.mat
файл в рабочую область.
Ваша модель уже имеет один блок среды и один наземный блок. Соберите полную модель с этими шагами:
В библиотеке блоков откройте библиотеку Bodies. Перетащите мышью другой блок Ground и три блока Тела в новое окно модели. Закройте библиотеку Bodies.
От библиотеки Joints перетащите мышью четыре Вращательных блока в окно модели.
Вращайте и соедините блоки в шаблоне, показанном в следующем рисунке или с эквивалентной топологией блок-схемы.
Используйте имена блока, показанные в этом рисунке для более поздней непротиворечивости.
Связанная среда, земля, тело и блоки соединений для четырёхзвенника
Топология Блок-схемы. Топология блок-схемы является возможностью соединения своих элементов. Элементами являются Тела и Территория, соединенная Соединениями. В отличие от модели Модели и Симулируют Простую Машину, четырехзвенный механизм является механизмом с обратной связью. Два Наземных блока представляют точки на том же абсолютном, неподвижном теле, и они замыкают круг блоков. Математический маятник имеет только одну землю и не закрывает ее связи блока.
Чтобы обеспечить сопоставимое направление движения Тела, убедитесь, что пары порта системы координат (CS) Тела на каждом Теле следуют за последовательностью CS1-CS2
, CS1-CS2
, и т.д., для каждой панели, перемещающейся от Ground_1 до Ground_2, справа налево, как показано. Сделать Соединения сопоставимыми с движением Тела, пары основного последователя B-F
\bf
, и т.д., должен следовать за тем же самым справа налево последовательность.
Теперь сконфигурируйте Наземные блоки с данными из следующей таблицы. Основанные системы координат (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
в вашу рабочую область:
Откройте Ground_1 и введите [ 0.433 0.04 0 ]
или gpoint_1
в поле Location.
Откройте Ground_2 и введите [-0.434 0.04 0 ]
или gpoint_2
в поле Location.
Оставьте оба выпадающих меню для модулей в m
по умолчанию (метры).
Три неоснованных панели перемещаются в плоскость вашего экрана (плоскость x-y), таким образом, необходимо сделать все Вращательные оси z - ось (из экрана):
Откройте диалоговое окно каждого Револьюта в свою очередь. В его области Parameters, примечании по вкладке Axes, что z - ось является значением по умолчанию: Axis of Action установлен в [0 0 1]
в каждом, относительно Reference CS World
. Оставьте эти значения по умолчанию.
Блок Revolute содержит только одно примитивное соединение, одну вращательную степень свободы. Таким образом, Primitive является автоматически revolute
. Его именем в блоке является R1
.
Оставьте эти значения по умолчанию блока Шарнирного соединения и проигнорируйте вкладку 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.357
| m_1 |
Тензор инерции | [1.07e-3 0 0; | inertia_1 |
Источник CG | [0.03 0.282 0] от CS1 в осях World | cg_1 |
Источник CS1 | [0 0 0] от Adjoining в осях World | cs1_1 |
Источник CS2 | [0.063 0.597 0] от CS1 в осях World | cs2_1 |
Ориентация CG | [0 0 83.1] от World в соглашении Euler X-Y-Z | orientcg_1 |
Масса Bar2 и данные о CS тела (модули MKS)
Свойство | Значение | Имя переменной |
---|---|---|
Масса | 9.028
| m_2 |
Тензор инерции | [1.8e-3 0 0; | inertia_2 |
Источник CG | [-0.427 -0.242 0] от CS1 в осях World | cg_2 |
Источник CS1 | [0 0 0] от Adjoining в осях World | cs1_2 |
Источник CS2 | [-0.87 -0.493 0] от CS1 в осях World | cs2_2 |
Ориентация CG | [0 0 29.5] от World в соглашении Euler X-Y-Z | orientcg_2 |
Масса Bar3 и данные о CS тела (модули MKS)
Свойство | Значение | Имя переменной |
---|---|---|
Масса | 0.991
| m_3 |
Тензор инерции | [2.06e-4 0 0; | inertia_3 |
Источник CG | [-0.027 -0.048 0] от CS1 в осях World | cg_3 |
Источник CS1 | [0 0 0] от Adjoining в осях World | cs1_3 |
Источник CS2 | [0 0 0] от Adjoining в осях World | cs2_3 |
Ориентация CG | [0 0 60] от World в соглашении Euler X-Y-Z | orientcg_3 |
Вот общие шаги для конфигурирования диалоговых окон Тела всех трех панелей. Смотрите, что три предшествуют таблицам для свойства массы диалогового окна Body (масса и тензор инерции) записи. Модули являются MKS: длины в метрах (м), массы в килограммах (кг) и тензоры инерции в килограмме-meters2 (kg-m2).
Откройте все три диалоговых окна Тела для каждой панели. Введите массовые свойства для каждого из таблиц в полях Mass и Inertia.
Теперь работайте в области систем координат Тела, вкладке Position:
Установите меню Components in Axes of, для каждого CS Тела на каждой панели, к World
.
Оставьте модули как m
по умолчанию (метры).
Установите свойства Body CS для каждого CS Тела на каждой панели из данных предыдущих таблиц:
Введите данные о положении источника CS Тела для CG, CS1 и CS2 на каждой панели из таблиц или от соответствующих переменных MAT-файла.
Установите записи меню Translated from Origin of для каждого CS Тела на каждой панели согласно значениям в таблицах.
Выберите вкладку Orientation путем нажатия на ее вкладку:
Введите Orientation Vector для CG на каждой панели из таблиц или от соответствующих переменных MAT-файла.
Выберите World
для Relative CS в каждом случае.
Покиньте другие поля в их значениях по умолчанию.
Вид спереди четырехзвенного механизма, с телами, отображенными как эквивалентные эллипсоиды, выглядит так:
Вы закончили создавать свою модель путем устанавливания начальных условий и вставки Датчиков.
Прежде чем вы запустите симуляцию, необходимо установить ее кинематические или начальные условия состояния. Они включают положения/углы и линейный / скорости вращения. Эта информация, начальное кинематическое состояние машины, обсуждена далее в состоянии Движения Кинематики и Машины и Применении Движений и Сил.
Можно обнаружить движение в любой модели двумя основными способами: обнаружение тел или обнаружение соединений. Здесь вы движение шарнира, с помощью Объединенных блоков Датчика и питая их Сигнал Simulink выходными параметрами, чтобы Определить объем блоков.
Поскольку они неподвижны, наземные точки не могут быть перемещены, и при этом у них нет движения измериться.
Поэтому вы не можете соединить Наземные блоки с блоками Привода или Датчика.
Обнаруживать движение блоков Revolute2 и Revolute3,
От библиотеки Sensors & Actuators перетащите мышью два Объединенных блока Датчика в окно модели. Перетащите Объединенный Датчик рядом с Revolute2 и Объединенный Sensor1 рядом с Revolute3.
Прежде чем можно будет присоединить блок Joint Sensor к блоку Revolute, необходимо создать новый открытый круглый порт коннектора на Вращательном. Откройте диалоговое окно Revolute2:
В области Connection parameters в середине настройте меню Number of sensor/actuator ports счетчика к значению 1
. Нажмите OK.
Новый порт коннектора появляется на Revolute2.
Соедините этот порт коннектора с открытым круглым портом коннектора на Объединенном Датчике.
Теперь повторите те же шаги с Revolute3:
Создайте один новый порт коннектора на Вращательных 3.
Соедините этот порт, чтобы Соединить Sensor1.
Обязательно соедините выходные порты >
из Датчика блокируется с блоком Simulink Sink. Этими выходными портами являются нормальные Сигналы Simulink.
Здесь можно просмотреть Объединенные измерения Датчика Revolute2 и движений Revolute3 с помощью блока Scope из библиотеки Simulink Sinks:
Откройте Браузер Библиотеки Simulink. От библиотеки Sinks перетащите мышью блок Scope в свое окно модели промежуточный Объединенный Датчик и Объединенные блоки Sensor1. Переименуйте блок Scope “Угол”.
Откройте блок Angle. На панели инструментов этого окна scope откройте поле Parameters. Под Axes, сброс Number of axes к 2
. Нажмите OK. Второй импорт >
появляется на блоке Angle.
Расширьте окно scope для простоты просмотра.
Соедините выходные порты блока Joint Sensor и Joint Sensor1 >
к Angle блок импортирует >
.
Открытый объединенный датчик и объединенный Sensor1:
В области Measurements Connected to primitive установлен в R1
в обоих блоках, указывая на первый и единственный примитив, вращательный в Revolute2 и Revolute3, с которым может быть соединен каждый Датчик.
Установите флажок Angle, чтобы измерить только угол. Оставьте модули в значении по умолчанию как deg
(степени). Линия Simulink будет содержать один скаляр.
Ваша завершенная модель должна выглядеть похожей на mech_four_bar
модель в качестве примера.
Датчик и блоки Привода являются единственными блоками, которые могут соединить блоки Simscape Multibody с нормальными блоками Simulink.
Теперь сделайте последние шаги, чтобы подготовить и запустить модель:
В меню Simulation окна модели выберите Configuration Parameters:
В узле Solver измените Absolute tolerance в 1e-6
.
Оставьте другие значения по умолчанию и нажмите OK.
Теперь запустите модель путем нажатия на Start на панели инструментов Simulink. Четырехзвенный механизм подпадет под влияние силы тяжести.
Отметьте некоторые функции симуляции:
В этом примере механизм начинает с отдыха с начальными скоростями в нуле. Таким образом начальное состояние системы четырёхзвенника является только геометрическим состоянием, что вы настраиваете в Настроенном Блок-схему.
Блок сначала падает направо, и угловые уменьшения Revolute2.
Повороты Bar3 полностью вокруг, и Bar2 и Bar1 возвращаются налево. Угол Revolute2 инвертирует направление. Revolute3 развертывается через полный поворот. Углы сопоставлены с интервалом (-180o, +180o], и покажите разрывы.
Движение периодически повторяется, когда нет никакого трения.
Если вы оставляете свое окно визуализации открытым в то время, когда вы запускаете симуляцию и устанавливаете флажок Animate machine during simulation в узле Simscape Multibody диалогового окна Параметров конфигурации, визуализируемых перемещений машины в ногу с симуляцией.
Можно теперь сравнить анимированное движение с графиками Осциллографа Revolute2 и углов Revolute3.