exponenta event banner

Построение модели

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

Описание проблемы

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

Задача упрощается до наведения в плоскости механизма. На рисунке показан схематический эскиз механизма и отражены только основные принципы работы механизма (что обычно происходит на ранних стадиях процесса проектирования). Звено С может скользить по звену А. Двигатель прикладывает крутящий момент$$ {\bf \tau} $$ к шарниру Ri вращения, и задача состоит в отслеживании конкретной траектории угла вращения.$$ {\bf \beta} $$

Построение модели

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

  1. Определите жесткие тела в механизме.

  2. Определите способ соединения жестких тел друг с другом (соединения, зависимости и т.д.).

  3. Рассмотрим каждое жесткое тело в изоляции. Создайте простую аппроксимацию жесткого тела и определите жестко прикрепленные к нему рамы.

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

  5. Используйте Mechanics Explorer для определения и устранения других проблем с моделью.

  6. Задайте Цели соединения (Joint Targets), чтобы указать нужную конфигурацию сборки.

  7. Подсоедините входы и выходы к механизму. Тестирование и проверка модели. Если применимо, подключите контроллер и протестируйте модель.

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

В следующих разделах эти шаги описаны более подробно.

Идентификация жестких тел и соединений

Механизм имеет четыре жестких тела

  • Жесткое тело A (оранжевый цвет)

  • Жесткое тело B (синий)

  • Жесткое тело C (черное)

  • Жесткое тело D (серое)

Механизм имеет следующие соединения

  • Жесткие тела А и D соединены посредством поворотного соединения Ro.

  • Жесткие тела А и С соединены призматическим соединением Pg.

  • Жесткие тела С и В соединены через поворотное соединение Rg.

  • Жесткие тела В и D соединены посредством поворотного соединения Ri.

Кроме того, жесткое тело D жестко соединено с мировой рамой W, так как оно неподвижно.

Определение жестких тел и их интерфейса

Жесткое тело определяется путем задания его формы, массовых свойств и интерфейса с другими деталями. Каждое жесткое тело идентифицируется и определяется изолированно. В приведенном выше примере механизм состоит из четырех жестких тел: A, B, C и D.

Жесткое тело А показано изолированно ниже.

Сначала определите форму жесткого тела A в Simscape Multibody. После определения формы объекта и определения его плотности Simscape Multibody может вычислить инерцию автоматически. Вместо определения достаточно сложной формы, показанной выше, в качестве первого приближения можно определить форму жесткого тела как простого цилиндра с длиной, равной длине исходной детали.

После определения формы (первого приближения) жесткого тела A задайте его плотность. Simscape Multibody теперь имеет достаточно информации для вычисления инерционных свойств, необходимых для динамического моделирования. В Simscape Multibody с помощью твердотельного блока определяется жесткое тело простой формы.

Блок «Твердое тело» позволяет определить простые тела с фиксированными параметризациями. К ним относятся: кирпич, цилиндры, полигональные выдавливания, правильные призмы, сферы, эллипсоиды и др. Каждое параметризованное твердое тело определяется относительно опорной рамки. На приведенной ниже диаграмме показаны опорные рамки для некоторых параметризованных тел. Твердотельный блок представляет этот опорный кадр как порт кадра с меткой «R» на блоке.

Граница раздела жесткого тела устанавливается путем определения рам, прикрепленных к жесткому телу. Жесткое тело соединено с другими частями механизма через жестко закрепленные рамы. В Simscape Multibody суставы устанавливают изменяющуюся во времени взаимосвязь между двумя кадрами. Например, поворотное соединение устанавливает зависимость, согласно которой оси Z присоединенных рамок параллельны, а истоки рамок совпадают. Призматическое соединение устанавливает зависимость, что оси Z присоединенных рам коллинеарны, а оси X и Y всегда параллельны. Следует отметить, что сами рамы определяются независимо от соединения; соединение устанавливает только связь между уже существующими кадрами. При этом ось Z является осью вращения в случае поворотного соединения и осью скольжения в случае призматического соединения. Эта информация необходима, когда мы определяем интерфейс жесткого тела, определяя жестко прикрепленные к нему рамы.

В этом примере жесткое тело А имеет цилиндрическое отверстие на одном конце, которое прилегает к выступу так, что А может вращаться вокруг оси цилиндрического отверстия. Это предполагает, что рамка должна быть определена в центре отверстия с осью Z, выровненной с осью отверстия (осью вращения). Эта рамка обозначена как$$ F_{AD} $$ указано выше. Выбор ориентации осей X и Y$$ F_{AD} $$ частично определяет нулевую конфигурацию соединения, с которым$$ F_{AD} $$ будет соединяться соединение (см. обсуждение нулевой конфигурации ниже). А также действует как вал, на который скользит деталь С. Это позволяет предположить, что рамка должна быть определена в центре A (произвольно выбранное положение) с осью Z, выровненной вдоль длины A (вдоль направления скольжения). Эта рамка обозначена как$$ F_{AC} $$ указано выше. Рамки и$$ F_{AD} $$$$ F_{AC} $$ определяют интерфейс для жесткого тела A. В sm_dcrankaim_approx_body_A модели показано, как блоки твердотельного и жесткого преобразования использовались для определения формы, инерции и интерфейса жесткого тела A. Тело A Ref является блоком опорной рамки. Этот блок не требуется, но служит для удобства моделирования, которое фиксирует определенный кадр как кадр, на который ссылаются другие кадры. Кадры и$$ F_{AC} $$$$ F_{AD} $$ определяются относительно кадра, к которому подключен блок Body A Ref. Для более сложной сети блоков, определяющих жесткое тело, такая опорная рамка служит отправной точкой для определения положений и ориентаций всех других рамок.

Запустите sm_dcrankaim_approx_body_A модели для визуализации модели в обозревателе Mechanics.

Рассмотрим жесткое тело B. Форма жесткого тела может быть снова аппроксимирована простым цилиндром. Жесткое тело имеет цилиндрические отверстия на обоих концах, которые прилегают к колышкам. Жесткое тело В может поворачиваться вокруг любой оси отверстия. Это предполагает, что необходимо определить две рамки: по одной в каждом центре отверстия, ось Z которого выровнена с осью отверстия.

В sm_dcrankaim_approx_body_B модели показано, как блоки твердотельного и жесткого преобразования использовались для определения формы, инерции и границы раздела жесткого тела B.

Запустите sm_dcrankaim_approx_body_B модели для визуализации модели в обозревателе Mechanics. Аналогичный подход может быть использован для построения первого приближения жесткого тела D.

Рассмотрим жесткое тело C.

Это жесткое тело имеет цилиндрическое отверстие, которое скользит по выступу. Он также имеет выступ, вокруг которого может вращаться другое тело. Это говорит о необходимости определения двух рамок: одна в центре отверстия с его осью Z вдоль оси отверстия, а другая в центре штифта с его осью Z вдоль оси штифта. Они помечены как$$ F_{CA} $$ и $$ F_{CB} $$выше.

Форма жесткого тела С может быть аппроксимирована простым кубоидом. В первом приближении жесткого тела смещение между истоками рам$$ F_{CB} $$ и$$ F_{CA} $$ также можно сделать нулевым. Это приводит к упрощенному представлению жесткого тела, как показано ниже.

В sm_dcrankaim_approx_body_C модели показано, как блоки твердотельного и жесткого преобразования использовались для определения формы, инерции и границы раздела жесткого тела C.

Сборка отдельных тел с помощью соединений

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

  • Вращательное соединение между рамами$$ F_{DA} $$ и $$ F_{AD} $$

  • Призматическое соединение между рамами$$ F_{AC} $$ и $$ F_{CA} $$

  • Вращательное соединение между рамами$$ F_{CB} $$ и $$ F_{BC} $$

  • Вращательное соединение между рамами$$ F_{BD} $$ и $$ F_{DB} $$

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

Использование отчета о модели для выявления проблем

В модели была допущена преднамеренная ошибка в определении рамы$$ F_{CA} $$, прикрепленной к жесткому телу С. Это приводит к отказу сборки. На рисунке ниже показаны требуемые и фактические ориентации кадра.$$ F_{CA} $$

Ориентация$$ F_{CA} $$ должна быть скорректирована поворотом на 90 ° вокруг оси Z. Обновите sm_dcrankaim_assembly_with_error модели (Ctrl-D) для визуализации механизма. Сообщается об ошибке, указывающей на сбой сборки. В обозревателе Mechanics выберите опцию Отчет о модели (Model Report) в раскрывающемся меню Сервис (Tools). В разделе «Отчет о модели» в разделе «Соединения» будет показано, что соединение Pg не было собрано. Это указывает на то, что может быть допущена ошибка в спецификации кадров, прикрепленных к соединению Pg. В данном примере действительно была допущена ошибка в спецификации кадра.$$ F_{CA} $$

Изменение параметров жесткого преобразования sm_dcrankaim_assembly_with_error/Rigid преобразования C/Slide Frame Body, как показано ниже, устраняет проблему и позволяет выполнить сборку успешно.

Нулевая конфигурация соединений

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

Рассмотрим, например, жесткие тела B и C и соединение Rg, соединяющее их. Рамки$$ F_{CB} $$ и$$ F_{BC} $$ являются базовыми и ведомыми рамами соединения Rg. На рисунке ниже показано, как различные варианты ориентации рамы$$ F_{CB} $$, прикрепленной к жесткому телу С, приводят к различным собранным конфигурациям, когда угол соединения равен нулю. Выбор ориентации рам должен осуществляться с учетом требуемой нулевой конфигурации.

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

Руководство сборкой с использованием совместных целей

Обновите sm_dcrankaim_assembly_with_error модели (Ctrl-D) (после исправления ошибок) для визуализации собранного механизма. Видно, что все тела схлопываются на общую линию; это конфигурация сборки по умолчанию. В этой конфигурации все углы поворота соединения равны нулю. Таким образом, базовая и ведомая рамы каждого поворотного соединения совпадают и выровнены друг с другом; соответствующие пары кадров$$ F_{DA} $$: и, $$ F_{AD} $$$$ F_{CB} $$и $$ F_{BC} $$и.$$ F_{BD} $$ Напротив, $$ F_{DB} $$кадр$$ F_{CA} $$ преобразуется из кадра, таким образом, $$ F_{AC} $$соединение Pg не находится в нулевом состоянии. Откройте Отчет о модели (Model Report), чтобы просмотреть значения положений соединения в данной собранной конфигурации. Это нежелательная конфигурация сборки.

Конфигурация, изображенная на принципиальной схеме механизма, является желательной начальной конфигурацией сборки. Из принципиальной схемы видно, что в начальной конфигурации угол$$ \beta $$ составляет около 35 °. Алгоритм сборки может быть ориентирован путем указания положения соединения и целей скорости. В этом примере цель положения для соединения Ro может быть установлена так, чтобы направлять сборку в желаемую начальную конфигурацию (см. рисунок ниже). Для целевого приоритета установлено значение High. Поскольку это единственная цель в модели, Simscape Multibody способен достичь её точно.

Обновите модель (Ctrl-D), чтобы обновить визуализацию с изменениями. Сборка ближе к конфигурации на принципиальной схеме. Проверьте отчет о модели, чтобы убедиться, что цель соединения для Ro была точно достигнута.

К сожалению, собранная конфигурация не является предполагаемой, поскольку жесткий корпус В не выровнен, как показано на принципиальной схеме. Попытка задать углы соединения для обоих$Ro$ и$Ri$ точно является чрезмерной спецификацией для этого механизма с одной степенью свободы. Это не запрещено, но при наличии конфликта ни одна из целей не может быть достигнута. Более того, желаемый угол соединения Ri точно даже не известен.

В этой ситуации удобный подход состоит в том, чтобы оставить высокоприоритетную цель 35 ° на Ro, но указать угол Ri через низкоприоритетную цель положения. Последний обеспечивает приблизительное значение или подсказку для требуемого угла соединения. В этом случае очевидно, что угол$$ \theta $$ должен быть тупым; 150 ° - приблизительная оценка ее желаемого значения. Эта цель устанавливается для соединения Ri с приоритетом Low.

Собранная конфигурация после установки нового целевого объекта показана ниже.

Моделирование модели (Ctrl-T) для просмотра движения механизма под действием силы тяжести.

Настройка модели для контрольного проектирования

В этом примере цель состоит в том, чтобы сделать угловую$$ \beta $$ дорожку желаемой траекторией путем приложения крутящего момента в соединении Ri. Соединение Ri приводится в действие крутящим моментом, и угол соединения$$ \beta $$ и его производная (угловая скорость) определяются из соединения Ro. Весь механизм может быть заключен в подсистему, которая принимает крутящий момент и выводит угол$$ \beta $$ и угловую скорость. $$ \dot{\beta} $$Эта подсистема является канонической установкой в конструкции управления. В sm_dcrankaim_plant модели показана настройка механизма для конструкции элемента управления.

Подробная информация по подсистеме установки приведена ниже.

Модель sm_dcrank_aiming_mechanism_v1 показывает, что завод подключен к контроллеру. Характеристики отслеживания контроллера можно просмотреть в области действия. Для обеспечения отслеживания был разработан простой контроллер PD.

Добавление детализации к жестким телам

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

В качестве примера рассмотрите возможность добавления узла к жесткому телу A при сохранении его интерфейса неизменным. На рисунке ниже показано жесткое тело А в виде композиции из более простых тел. Интерфейс, открытый жестким телом А, по-прежнему является парой рам$$ F_{AD} $$ и. $$ F_{AC} $$Их позиции и ориентации остаются неизменными. Рамы,$$ F_{12} $$ и$$ F_{21} $$ являются$$ F_{23} $$$$ F_{32} $$ внутренними для жесткого тела и должны быть созданы для сборки отдельных частей жесткого тела в единое целое. На sm_dcrankaim_cplx_body_A модели показана конструкция сложного варианта жёсткого тела А.

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

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

Резюме

Таким образом, мы предприняли следующие шаги:

  • Начав с принципиальной схемы механизма и опознав жесткие тела и соединения в механизме.

  • Построение первого приближения каждого жесткого тела в изоляции

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

  • Использование инструмента «Отчет о модели» для выявления проблем со сборкой

  • Используются Цели положения соединения (Joint Position Targets), чтобы направить сборку в нужную конфигурацию.

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

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

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