Универсальный механизм Lite. Моделирование механических систем с помощью пакета расширения SimMechanics

    Нужно отметить, что для каждого вашего проекта в приложении “Симуляция кинематических механизмов” рекомендуется заранее сформироватьотдельную директорию. Потом,внутри этой директории, по ходу анализа, будет сформирована еще одна вспомогательная директория – так называемаяПапка симуляции (рис.4). Внутри этой папки симуляции по ходу анализа система расположит несколько вспомогательных файлов (рис.5). В общем, весь проект нужно хранить в отдельной директории.

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

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

Два режима работы в процессе анализа

    После построения и сохранения статической сборки вы должны впервые перейти из режима (из приложения)Моделирование в режим (в приложение)

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

    • И в режиме Моделирование

      И в режиме Симуляция кинематических механизмов

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

    Как только вы окажетесь в режиме Симуляция кинематических механизмов , вы сразу обратите внимание на новые инструментальные панели (рис.7).

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

Преобразование ограничений сборки в кинематические пары

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

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

    Позже вы узнаете, что преобразование ограничений статической сборки вкинематические пары выполняется автоматически или вручную. В самых первых несложных примерах мы будем выполнять это преобразование вручную. Но в ситуации, когда ограничений сборки много (50 штук и более, рис.8), можно воспользоваться и автоматическим преобразованием. Правда потом придется некоторые кинематические пары перепроверить!

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

Шекспир когда-то сказал: "Весь мир - театр, а люди в нем - актеры". Это если исходить с позиции художественного образа мышления. Если же посмотреть на мир с научной точки зрения, то можно перефразировать великого драматурга: "Весь мир - природа, а люди в ней объекты":). А при чем тут природа? Да при том, что по-гречески "природа" будет "физис", а отсюда и название главной науки обо всем сущем - "физика".

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

Именно для того, чтобы можно было безопасно, для ребенка и для окружающего его мира:), смоделировать любой физический процесс, я рекомендовал бы использовать программу Phun .

Доступная на сегодняшний день версия 5.28 - это довольно симпатично оформленная среда для механического моделирования. Несмотря на кажущуюся несерьезность (программа оформлена в виде детского рисунка), Phun - довольно правдоподобно имитирует реальные физические условия (можно моделировать ситуации в условиях антигравитации, в воздушном и безвоздушном пространстве и т. д.).

Установка программы для моделирования механических процессов Phun

Но обо всем в свою очередь. Сейчас мы установим и попробуем разобраться с программой. Для этого скачиваем установочный дистрибутив Phun, запускаем инсталлятор и ждем, когда все установится:).

Сразу оговорюсь, если у Вас старый компьютер с довольно слабенькой видеокартой, то Phun в таком случае будет заметно притормаживать. Хотя заявлена поддержка (правда более ранней 4-ой версии) видеокарт с 32 МБ памяти, на моем компьютере со 128 МБ программа иногда подвисала довольно ощутимо. Я думаю, что оптимальный вариант будет около 256 МБ.

Пока мы с Вами говорили, Phun уже установилась и жаждет запуска. Не знаю, баг ли это в программе или косяк с моей системой в частности, но когда я согласился на запуск программы сразу после установки, то она на меня ругнулась и отказалась запускаться. Пришлось запускать ее вручную (стартовала без проблем:)).

Русификация программы

Перед нами окно программы с приветственным проектом:

Программа по умолчанию - английская, но в пятой версии появилась и русская локализация. Чтобы русифицировать Phun, заходим в меню "File" и в пункте "Change language" выбираем опцию "Russian". Готово!

Теперь, когда мы имеем дело с русской версией, рассмотрим элементы управления программой.

Интерфейс программы

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

Меню "Файл" позволяет настроить сцену под проект (сохранить, очистить), загрузить или создать новую сцену, сменить язык, переключить вид, проверить обновления, скачать дополнительные сцены или купить полную версию (хотя зачем, если и бесплатной хватает с головой).

Меню "Инструменты", "Управление" и "Контекстное меню" позволяют скрыть или отобразить соответствующие вкладки программы.

Меню "Инструменты":

Здесь собраны все те приспособления, при помощи которых мы будем создавать нужные нам для эксперимента объекты. Вся панель разделена на три зоны: в первой зоне инструменты для перемещения объектов, во второй - для рисования, а в третьей - для вставки механизмов. Рассмотрим их по порядку.

Первую панель открывает инструмент "Перемещение", который позволяет нам перемещать любые объекты в горизонтальной и вертикальной плоскостях. Инструмент "Рука" также служит для перемещения, однако может выполнять свою функцию в уже запущенном эксперименте.

Инструмент "Вращение" нужен для вращения объектов вокруг их центра тяжести или крепления. Инструмент "Масштаб" позволяет изменять размеры любых объектов. "Нож" - предназначен для разделения любого предмета на части, причем работает он и в режиме подготовки эксперимента и в режиме проигрывания.

В панели рисования первый инструмент - "Полигон". С его помощью Вы сможете нарисовать любую фигуру "от руки" или ровный многоугольник (для этого зажмите и удерживайте клавишу Shift, чтобы нарисовать ровную линию). Инструмент "Кисть" позволяет рисовать любые линии, фигуры и объекты вручную.

"Прямоугольник" помогает нам нарисовать четкий прямоугольник или квадрат (также зажав Shift), а с инструментом "Круг" Вы всегда сможете начертить ровный круг. Далее идут три специализированных инструмента "Шестерня", "Плоскость" и "Цепь". Все они соответственно создают свои объекты.

Третья панель также предназначена для создания специальных объектов со своими физическими характеристиками. Здесь находятся инструменты "Пружина", "Крепление", "Ось" и "След". Назначение первых троих, я думаю, объяснять не надо, а последний служит для отображения инерционного следа от движения какого-либо объекта, к которому прикреплен инструмент (см. пример Cycloid).

Меню "Управление":

Здесь мы видим нечто похожее на пульт управления стандартным плеером. Здесь есть кнопки реверса (отменить/повторить) и "плей" (соответственно, запустить эксперимент).

Далее находится ползунок масштаба и две кнопки навигации. Масштаб в Phun можно изменять тремя способами: передвигая ползунок, зажав левую кнопку мыши на кнопке (+/-) или колесом мыши, когда она находится над полем эксперимента. Кнопка со стрелками служит для перемещения по рабочему полю. Зажмите ее и, удерживая, перемещайте мышь. Хотя, по-моему, удобнее делать то же самое, зажав кнопку мыши в любом месте на рабочем поле.

Две последние кнопки панели управления служат для создания невесомости и безвоздушного пространства. По умолчанию гравитация соответствует настоящему значению в 9,8 м/с 2 , а сила сопротивления воздуха - 1. Но эти значения легко можно изменить в "Настройках" в подменю "Симулятор". Там же можно установить скорость симуляции (по умолчанию - 1).

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

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

Для каждого нового объекта функции будут расширяться, дополняясь такими как клонирование, действия, выбор материала, настройка контуров и т. д.

Теперь мы готовы к работе с Phun, и для начала предлагаю провести небольшой эксперимент, чтобы проверить срабатывает ли в программе закон всемирного тяготения.

Первый эксперимент

Для этого в меню "Файл" выберем "Новая сцена" и нарисуем горизонтальную плоскость (0°). Теперь на одинаковой высоте подвесим два тела побольше и поменьше (для интереса маленький шарик я сделал из метала, а большой из стекла).

Все готово для эксперимента, осталось только нажать "Пуск!". Как видим, оба тела с одинаковой скоростью полетели вниз. Единственным минусом оказалось то, что стеклянный шар не разбился:((ненатурально получилось). В остальном же тела повели себя так, как и должны были бы настоящие их аналоги.

Более сложные манипуляции с телами и жидкостями

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

Поставим два столба (прямоугольника) и жестко их закрепим. Это будет емкость для нашей воды. Теперь "нальем" в нее саму воду. Чтобы создать воду, достаточно нарисовать между столбами большой предмет, а затем в его контекстном меню выбрать в "Действиях" пункт "Превратить в воду".

Готово! Можно запускать эксперимент.

Готовые сцены

Обзор программы был бы неполным, если бы я не упомянул, что для Phun существует множество готовых сцен. Несколько из них доступно, если нажать в меню "Файл" кнопку "Открыть сцену". Если же Вам и этого мало, Вы всегда можете скачать из Интернета тысячи других. Достаточно в том же меню "Файл" выбрать пункт "Скачать еще сцены".

Желаю Вам творческих успехов и всегда удачных экспериментов:)!

И традиционно, флеш-игра, также основанная на некоторой доле физики. Здесь мы управляем магнитным погрузчиком, основная задача которого - погрузить в машину все ящики. Но чем дальше, тем сложнее это сделать.

P.S. Разрешается свободно копировать и цитировать данную статью при условии указания открытой активной ссылки на источник и сохранения авторства Руслана Тертышного.

P.P.S. Если Вам понравилась эта программа, то советую обратить внимание на еще одну не менее интересную. Программа Начала Электроники позволит Вам моделировать реальные процессы в разнообразных электрических схемах, которые Вы же и создаете!

Посты, описывающие работу с другими подсистемами, в соответствии с жизненным циклом системы:
1. этот пост;
2. ;
3. ;
4. .

Для того, чтобы создать этот материал, использовалась среда МАТЛАБ версии 2013b.
===

Рубрика "ликбез" всплывала довольно давно. И, несмотря на то, что на Хабре посты собирают гораздо больше просмотров (и даже находятся настолько заинтересованные, что комментируют и уточняют), я таки продолжу публиковать свои заметки здесь.

Напомню, "ликбезы" - это про то, как что-то делать в MATLAB/Simulink. Предыдущие посты (доступны по ) были действительно ликбезными, но руками в них делалось не так много, как мне хотелось бы. Исправлю это.

Из этого поста мы узнаем, как создать механическую модель элерона. В конце поста можно найти видеоролик, в котором показано всё то, о чем говорится в посте. Сам же пост подойдет в качестве инструкции к действию: используя его, можно не спеша повторить всё, о чем говорится в ролике. Для этого потребуются следующие материалы:
- модель элерона в SimMechanics .
Рекомендую исследовать пост .

Моделируемая система выглядит так, как показано на рис. 1.

Рис. 1. Моделируемая система.

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

Модель которую мы хотим создать, представлена на рис. 2.

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

SimMechanics находится в разделе Simscape в библиотеке блоков Simulink.

Мы будем создавать модель заново, начав с пустого окна Simulink. Во-первых, я должен определить гравитацию.

В блоке Mechanism Configuration я задам вектор силы тяжести, направленный против оси Y. ".

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

Для этого пригодится блок World Frame.

Цилиндр может вращаться относительно одного из концов. Чтобы определить эту степень свободы, я использую блок Revolute Joint.


Чтобы описать цилиндр, шток и другие компоненты мы используем библиотеку заранее созданных и параметризованных компонентов.

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

SimMechanics использует более сложную технологию моделирования, чем в обычный Simulink. Чтобы получить доступ к необходимым настройкам, я использую блок Solver Configuration.


Обновим диаграмму и запустим исполнение модели. Видно, что цилиндр качается, как математический маятник. (Ссылка на видео с момента, когда это видно).

Теперь добавим к модели шток с поршнем. Шток перемещается поступательно относительно цилиндра. Чтобы определить эту степень свободы я использую бок Prismatic Joint.


Элерон вращается относительно штока. Добавим блок, описывающий элерон. Скопируем блок Revolute Joint, чтобы определить еще одну степень свободы системы. Соединим эти блоки.

Чтобы задать форму элерона используется метод General Extrusion (принцип описания модели напоминает технологический процесс выдавливания; подробно описан в документации SimMechanics). Можно увидеть, как выглядят данные MATLAB, описывающие форму элерона. Эти данные используются для описания формы в нашем случае.

Известно, что элерон вращается относительно фиксированной в пространстве точки. Чтобы определить эту степень свободы, я снова использую блок Refolute Joint. Чтобы определить точку, относительно которой происходит вращение, я использую блок Rigid Transform. Это преобразование координат дает нам возможность определить связь между общей системой координат и системой координат, связанной с точкой, относительно которой вращается элерон.

Обновим диаграмму. Можно видеть (ссылка на момент в видео, в котором это можно видеть) три компонента, которые мы только что определили. Исполнив модель, мы заметим, что элерон снова качается как маятник. Видно, что элерон совершает одно колебание. Можно посмотреть на это под другим углом. Также можно изменить, например, цвет фона анимации, чтобы сделать ее нагляднее.

Итак, сейчас у нас есть механическая модель элерона. Было бы полезно наблюдать реакцию системы, например, на виртуальных осциллографах Simulink. Чтобы наблюдать угол, на который отклоняется элерон, откроем параметры блока соединения и активируем пункт position (положение - то, что мы хотим наблюдать). Теперь у блока появился дополнительный порт - выход, на который подается угол отклонения элерона. Нужно преобразовать этот физический сигнал в обычный сигнал Simulink, чтобы отобразить его на виртуальном осциллографе Simulink. Определим единицу измерения величины - градусы. Вернемся в библиотеку Simulink, найдем раздел Sinks, выберем блок виртуального осциллографа (Scope) и поместим его в модель.

Видео с записью демонстрации:

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

Шекспир когда-то сказал: "Весь мир - театр, а люди в нем - актеры". Это если исходить с позиции художественного образа мышления. Если же посмотреть на мир с научной точки зрения, то можно перефразировать великого драматурга: "Весь мир - природа, а люди в ней объекты":). А при чем тут природа? Да при том, что по-гречески "природа" будет "физис", а отсюда и название главной науки обо всем сущем - "физика" .

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

Именно для того, чтобы можно было безопасно, для ребенка и для окружающего его мира:), смоделировать любой физический процесс, я рекомендовал бы использовать программу Phun .

Доступная на сегодняшний день версия 5.28 - это довольно симпатично оформленная среда для механического моделирования. Несмотря на кажущуюся несерьезность (программа оформлена в виде детского рисунка), Phun - довольно правдоподобно имитирует реальные физические условия (можно моделировать ситуации в условиях антигравитации, в воздушном и безвоздушном пространстве и т. д.).

Установка программы для моделирования механических процессов Phun

Но обо всем в свою очередь. Сейчас мы установим и попробуем разобраться с программой. Для этого скачиваем установочный дистрибутив Phun , запускаем инсталлятор и ждем, когда все установится:). Сразу оговорюсь, если у Вас старый компьютер с довольно слабенькой видеокартой, то Phun в таком случае будет заметно притормаживать. Хотя заявлена поддержка (правда более ранней 4-ой версии) видеокарт с 32 МБ памяти, на моем компьютере со 128 МБ программа иногда подвисала довольно ощутимо. Я думаю, что оптимальный вариант будет около 256 МБ.

Пока мы с Вами говорили, Phun уже установилась и жаждет запуска. Не знаю, баг ли это в программе или косяк с моей системой в частности, но когда я согласился на запуск программы сразу после установки, то она на меня ругнулась и отказалась запускаться. Пришлось запускать ее вручную (стартовала без проблем:)).

Русификация программы

Перед нами окно программы с приветственным проектом:

Программа по умолчанию - английская, но в пятой версии появилась и русская локализация. Чтобы русифицировать Phun , заходим в меню "File" и в пункте "Change language" выбираем опцию "Russian" . Готово!

Теперь, когда мы имеем дело с русской версией, рассмотрим элементы управления программой.

Интерфейс программы

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

Меню "Файл" позволяет настроить сцену под проект (сохранить, очистить), загрузить или создать новую сцену, сменить язык, переключить вид, проверить обновления, скачать дополнительные сцены или купить полную версию (хотя зачем, если и бесплатной хватает с головой).

Меню "Инструменты" , "Управление" и позволяют скрыть или отобразить соответствующие вкладки программы.

Здесь собраны все те приспособления, при помощи которых мы будем создавать нужные нам для эксперимента объекты. Вся панель разделена на три зоны: в первой зоне инструменты для перемещения объектов, во второй - для рисования, а в третьей - для вставки механизмов. Рассмотрим их по порядку.

Первую панель открывает инструмент "Перемещение" , который позволяет нам перемещать любые объекты в горизонтальной и вертикальной плоскостях. Инструмент "Рука" также служит для перемещения, однако может выполнять свою функцию в уже запущенном эксперименте. Инструмент "Вращение" нужен для вращения объектов вокруг их центра тяжести или крепления. Инструмент "Масштаб" позволяет изменять размеры любых объектов. "Нож" - предназначен для разделения любого предмета на части, причем работает он и в режиме подготовки эксперимента и в режиме проигрывания.

В панели рисования первый инструмент - "Полигон" . С его помощью Вы сможете нарисовать любую фигуру "от руки" или ровный многоугольник (для этого зажмите и удерживайте клавишу Shift, чтобы нарисовать ровную линию). Инструмент "Кисть" позволяет рисовать любые линии, фигуры и объекты вручную. "Прямоугольник" помогает нам нарисовать четкий прямоугольник или квадрат (также зажав Shift), а с инструментом "Круг" Вы всегда сможете начертить ровный круг. Далее идут три специализированных инструмента "Шестерня" , "Плоскость" и "Цепь" . Все они соответственно создают свои объекты.

Третья панель также предназначена для создания специальных объектов со своими физическими характеристиками. Здесь находятся инструменты "Пружина" , "Крепление" , "Ось" и "След" . Назначение первых троих, я думаю, объяснять не надо, а последний служит для отображения инерционного следа от движения какого-либо объекта, к которому прикреплен инструмент (см. пример Cycloid).

Здесь мы видим нечто похожее на пульт управления стандартным плеером. Здесь есть кнопки реверса (отменить/повторить) и "плей" (соответственно, запустить эксперимент).

Далее находится ползунок масштаба и две кнопки навигации. Масштаб в Phun можно изменять тремя способами: передвигая ползунок, зажав левую кнопку мыши на кнопке (+/-) или колесом мыши, когда она находится над полем эксперимента. Кнопка со стрелками служит для перемещения по рабочему полю. Зажмите ее и, удерживая, перемещайте мышь. Хотя, по-моему, удобнее делать то же самое, зажав кнопку мыши в любом месте на рабочем поле.

Две последние кнопки панели управления служат для создания невесомости и безвоздушного пространства. По умолчанию гравитация соответствует настоящему значению в 9,8 м/с 2 , а сила сопротивления воздуха - 1. Но эти значения легко можно изменить в "Настройках" в подменю "Симулятор" . Там же можно установить скорость симуляции (по умолчанию - 1).

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

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

Для каждого нового объекта функции будут расширяться, дополняясь такими как клонирование, действия, выбор материала, настройка контуров и т. д.

Теперь мы готовы к работе с Phun , и для начала предлагаю провести небольшой эксперимент, чтобы проверить срабатывает ли в программе закон всемирного тяготения .

Первый эксперимент

Для этого в меню "Файл" выберем "Новая сцена" и нарисуем горизонтальную плоскость (0°). Теперь на одинаковой высоте подвесим два тела побольше и поменьше (для интереса маленький шарик я сделал из метала, а большой из стекла).

Все готово для эксперимента, осталось только нажать "Пуск!". Как видим, оба тела с одинаковой скоростью полетели вниз. Единственным минусом оказалось то, что стеклянный шар не разбился:((ненатурально получилось). В остальном же тела повели себя так, как и должны были бы настоящие их аналоги.

Более сложные манипуляции с телами и жидкостями

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

Поставим два столба (прямоугольника) и жестко их закрепим. Это будет емкость для нашей воды. Теперь "нальем" в нее саму воду. Чтобы создать воду, достаточно нарисовать между столбами большой предмет, а затем в его контекстном меню выбрать в "Действиях" пункт "Превратить в воду" .

Готово! Можно запускать эксперимент.

Готовые сцены

Обзор программы был бы неполным, если бы я не упомянул, что для Phun существует множество готовых сцен. Несколько из них доступно, если нажать в меню "Файл" кнопку "Открыть сцену" . Если же Вам и этого мало, Вы всегда можете скачать из Интернета тысячи других. Достаточно в том же меню "Файл" выбрать пункт "Скачать еще сцены" .

Желаю Вам творческих успехов и всегда удачных экспериментов:)!

P.S. Данная статья предназначена для свободного распространения. Приветствуется её копирование с сохранением авторства Руслана Тертышного и всех P.S. и P.P.S.

P.P.S. Если Вам понравилась эта программа, то советую обратить внимание на еще одну не менее интересную. Программа Начала Электроники позволит Вам моделировать реальные процессы в разнообразных электрических схемах, которые Вы же и создаете!



Статьи по теме