Как создать модель

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

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

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

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

Создавание модели

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

  1. Опознайте твердые тела в механизме.

  2. Идентифицируйте, как твердые тела соединяются друг с другом (соединения, ограничения и т.д.).

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

  4. Соберите твердые тела с помощью соединений и/или ограничений. Используйте Отчет Модели идентифицировать любые проблемы со сборкой блока.

  5. Используйте Mechanics Explorer, чтобы идентифицировать и устранить другие проблемы с моделью.

  6. Поставьте Объединенные Цели, чтобы вести блок к желаемой настройке.

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

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

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

Опознавание твердых тел и соединений

Механизм имеет четыре твердых тела

  • Твердое тело (оранжевый)

  • Твердое тело B (синий)

  • Твердое тело C (черный)

  • Твердое тело D (серый)

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

  • Твердые тела A и D соединяются через шарнирное соединение Ro.

  • Твердые тела A и C соединяются с помощью призматической объединенной Стр.

  • Твердые тела C и B соединяются через шарнирное соединение Rg.

  • Твердые тела B и D соединяются через шарнирное соединение Ri.

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

Определение Твердых тел и их Интерфейса

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

Твердое тело A показывают в изоляции ниже.

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

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

Блок Solid позволяет вам задать простые твердые частицы с фиксированной параметризацией. Они включают: кирпичи, цилиндры, многоугольные экструзии, правильные призмы, сферы, эллипсоиды, и т.д. Вы задаете каждое параметрированное тело относительно системы координат. Схема ниже показов системы координат для некоторых параметрированных твердых частиц. Блок Solid отсоединяет эту систему координат, когда порт системы координат пометил "R" на блоке.

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

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

Запустите модель sm_dcrankaim_approx_body_A, чтобы визуализировать модель в Mechanics Explorer.

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

Модель sm_dcrankaim_approx_body_B показывает, как блоки Твердые тела и Твердые Преобразования использовались, чтобы задать форму, инерцию и интерфейс твердого тела B.

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

Рассмотрите твердое тело C.

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

Форма твердого тела C может быть аппроксимирована простым кубоидом. В первом приближении твердого тела, перемещении между источниками систем координат$$ 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} $$

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

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

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

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

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

Нулевая настройка соединений

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

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

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

Направляющий блок Используя объединенные цели

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

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

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

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

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

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

Симулируйте модель (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 показывает конструкцию комплексной версии твердого тела A.

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

Эффективность отслеживания подобна, потому что контроллер достаточно устойчив, чтобы обработать незначительные различия в инерции между простой и подробной версией твердого тела A. После подобного процесса мы можем также добавить деталь в другие части. Различные версии каждого твердого тела с различными уровнями детализации могут быть обеспечены в библиотеке, и модель может быть протестирована с этими различными альтернативами. Конфигурируемые Подсистемы были бы полезны здесь.

Сводные данные

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

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

  • Созданный первое приближение каждого твердого тела в изоляции

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

  • Используемый инструмент Model Report, чтобы идентифицировать проблемы с блоком

  • Используемые Объединенные Цели Положения, чтобы вести блок в желательную настройку.

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

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

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