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

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

Описание задачи

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

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

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

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

  1. Идентифицируйте твердые тела в механизме.

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

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

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

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

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

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

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

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

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

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

  • Твердый Корпус A (оранжевый)

  • Твердый Корпус B (синий)

  • Твердый корпус C (черный)

  • Твердый корпус D (серый)

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

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

  • Твердые тела A и C соединяются призматическим соединением Pg.

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

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

В сложение твёрдый корпус D жестко соединяется с мировой системой координат W, так как он неподвижен.

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

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

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

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

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

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

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

В этом примере твердое тело A имеет цилиндрическое отверстие на одном конце, которое помещается на штифт, так что A может вращаться вокруг оси цилиндрического отверстия. Это предполагает, что в центре отверстия должна быть задана система координат с осью Z, выровненной по оси отверстия (оси вращения). Эта система координат помечена как$$ F_{AD} $$ выше. Выбор ориентации осей X и Y$$ F_{AD} $$ частично определяет нулевое строение соединения, к которому$$ F_{AD} $$ можно было бы подключить (см. обсуждение нулевого строения ниже). A также выступает в качестве вала, на котором скользит часть C. Это предполагает, что система координат должна быть задана в центре A (произвольно выбранное положение) с осью Z, выровненной по длине A (по направлению скольжения). Эта система координат помечена как$$ F_{AC} $$ выше. Системы координат и$$ F_{AD} $$$$ F_{AC} $$ задайте интерфейс для твердого тела А. В sm_dcrankaim_approx_body_A модели показано, как Блоки Твердые тела и Твердые Преобразования использовались для определения формы, инерции и интерфейса твердого тела А. Тело Ref является блоком системы координат. Этот блок не требуется, но служит удобством моделирования, которое исправляет определенную систему координат как система координат, к которому ссылаются другие системы координат. Системы координат и$$ 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} $$

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

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

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

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

Изменение параметров твердого преобразования sm_dcrankaim_assembly_with_error/Rigid Body C/Slide Системы координат Transform, как показано ниже, устраняет проблему, позволяющую сборке добиться успеха.

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

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

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

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

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

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

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

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

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

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

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

Симулируйте модель (Ctrl-T), чтобы просмотреть движение механизма под действием силы тяжести.

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

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

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

На sm_dcrank_aiming_mechanism_v1 модели показан Объект, подключенный к Контроллеру. Отслеживающая эффективность контроллера можно просмотреть в возможности. Для достижения отслеживания был разработан простой контроллер.

Добавление деталей к твердым телам

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

В качестве примера рассмотрите добавление деталей к твердому телу A, сохраняя при этом его интерфейс неизменным. Рисунок ниже показывает твердое тело А как композицию более простых тел. Интерфейс, открытый твердым телом 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 путем простой замены подсистемы, соответствующей твёрдому телу A, на сложную версию от sm_dcrankaim_cplx_body_A. Поскольку интерфейс оставался постоянным, это была простая операция замены блоков. Симулируйте sm_dcrank_aiming_mechanism_v2 модели, чтобы визуализировать измененный механизм.

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

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

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

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

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

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

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

  • Используйте Joint Position Targets, чтобы привести блок в желаемое строение.

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

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

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