Этот пример подсвечивает ключевые концепции и рекомендуемые шаги для создания механической модели с помощью Simscape™ Multibody™. Простая проблема проектирования была выбрана, чтобы служить этой цели. Следующий раздел описывает проблему проектирования, и последующие разделы обсуждают, как решить его.
Следующие данные показывают механизм, который функционирует как систему стремления.
Проблема упрощена до стремления в плоскости механизма. Данные показывают схематический эскиз механизма и только получают основы того, как механизм действует (который обычно имеет место во время ранних стадий процесса проектирования). Ссылка C может скользить на ссылке A. Двигатель применяет крутящий момент в шарнирном соединении, Ri и задача должны отследить конкретную траекторию закрученного назад угла.
Ключевой принцип, чтобы следовать при создавании моделей должен начать с простого приближения получать основную работу механизма. В последующих итерациях добавляют сложность в модель. Рекомендуемый процесс построения моделей в Simscape Multibody может быть разломан на следующие шаги:
Опознайте твердые тела в механизме.
Идентифицируйте, как твердые тела соединяются друг с другом (соединения, ограничения и т.д.).
Рассмотрите каждое твердое тело в изоляции. Создайте простое приближение твердого тела и задайте кадры, твердо присоединенные к нему.
Соберите твердые тела с помощью соединений и/или ограничений. Используйте Образцовый Отчет идентифицировать любые проблемы с образцовым блоком.
Используйте Mechanics Explorer, чтобы идентифицировать и устранить другие проблемы с моделью.
Поставьте Объединенные Цели, чтобы вести блок к желаемой настройке.
Соедините вводы и выводы к механизму. Протестируйте и Подтвердите модель. Если применимо присоедините контроллер и протестируйте модель.
Добавьте деталь в отдельные твердые тела, чтобы сделать модель более точным представлением фактического механизма.
Следующие разделы описывают эти шаги более подробно.
Механизм имеет четыре твердых тела
Твердое тело (апельсин)
Твердое тело 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, выровненной с осью дыры (ось вращения). Этот кадр маркирован как выше. Выбор ориентации осей X и Y частично определяет нулевую настройку соединения, с которым был бы соединен (см. обсуждение Нулевой Настройки ниже). Также действует как вал, на котором скользит часть C. Это предлагает, чтобы кадр был задан в центре (произвольно выбранное положение) с его осью Z, выровненной вдоль (вдоль направления скольжения). Этот кадр маркирован как выше. Кадры и задают интерфейс для твердого тела A. Модель sm_dcrankaim_approx_body_A показывает, как Твердые и Твердые блоки Преобразования использовались, чтобы задать форму, инерцию и интерфейс твердого тела A. Тело Касательно является блоком Reference Frame. Этот блок не требуется, но служит удобством моделирования, которое фиксирует определенный кадр как кадр, к которому к другим кадрам ссылаются. Кадры и заданы относительно кадра, с которым соединяется блок 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 вдоль оси штепселя. Они отмечены как и выше.
Форма твердого тела C может быть аппроксимирована с простым кубоидом. В первом приближении твердого тела, смещении между источниками кадров и может также быть сделан нулем. Это приводит к упрощенному представлению твердого тела как показано ниже.
Модель sm_dcrankaim_approx_body_C показывает, как Твердые и Твердые блоки Преобразования использовались, чтобы задать форму, инерцию и интерфейс твердого тела C.
Все отдельные тела были созданы в изоляции. Процесс блока включает отношения установления (использующий соединения) между кадрами, присоединенными к твердым телам. Следующие соединения устанавливают все необходимые отношения между кадрами, чтобы собрать механизм.
Шарнирное соединение между кадрами и
Призматическое Соединение между кадрами и
Шарнирное соединение между кадрами и
Шарнирное соединение между кадрами и
Усилие, которое вошло в тщательное определение интерфейсов всех твердых тел (т.е. кадры, присоединенные к ним), делает очень легким завершить механизм путем простого добавления соединений между соответствующими кадрами. Нет никакой потребности настроить соединения, чтобы достигнуть блока по умолчанию механизма. Получившийся блок может или не может быть в желаемой настройке, поскольку механизм может быть собран в несколько настроек. Модель sm_dcrankaim_assembly_with_error показывает собранный механизм.
В модели намеренная ошибка была сделана в определении кадра, присоединенного к твердому телу C. Это заставляет блок перестать работать. Фигура ниже показов желаемые и фактические ориентации кадра.
Ориентация должна быть исправлена вращением 90 градусов об оси Z. Обновите модель (Ctrl-D) sm_dcrankaim_assembly_with_error, чтобы визуализировать механизм. Об ошибке сообщают, указывая, что блок перестал работать. В Mechanics Explorer выберите опцию Model Report из выпадающего меню Tools. В Model Report the Joints раздел покажет, что объединенному Pg не удалось собраться. Это указывает, что может быть ошибка в спецификации кадров, присоединенных к объединенной Стр. В этом примере это на самом деле верно, что ошибка была совершена в спецификации кадра.
Изменение параметров твердого преобразования sm_dcrankaim_assembly_with_error/Rigid Тело, Преобразование Кадра C/Slide как показано ниже решает проблему, позволяет блоку успешно выполняться.
Нулевая Настройка соединения задана как относительное положение и ориентация между основой и кадрами последователя, когда все объединенные углы являются нулем. Почти для всех соединений в Simscape Multibody основа и кадры последователя идентичны в нулевой настройке: их источники являются совпадающими, и их оси выравниваются. Каждый задает относительное положение и ориентацию между двумя телами, соединенными соединением, когда объединенные углы являются нулем путем регулирования положений и ориентаций основы и кадров последователя на их соответствующих телах.
Рассмотрите, например, твердые тела B и C и объединенный Rg, соединяющий их. Кадры и являются основой и кадрами последователя объединенного Rg. Фигура ниже показов, как различный выбор ориентаций для кадра, присоединенного к твердому телу C, приводит к различным собранным настройкам, когда объединенный угол является нулем. Выбор ориентации кадров должен быть сделан с желаемой нулевой настройкой в памяти.
В механизме стремления выбор ориентаций кадра приводит к собранной настройке значения по умолчанию, в которой центральные оси всех тел простираются вдоль той же строки.
Обновите модель (Ctrl-D) sm_dcrankaim_assembly_with_error (после того, как ошибки будут зафиксированы) визуализировать собранный механизм. Это видно, что все тела сворачиваются на общую строку; это - настройка блока по умолчанию. В этой настройке все углы шарнирного соединения являются нулем. Таким образом основа и кадры последователя каждого шарнирного соединения являются совпадающими и выравниваются друг с другом; соответствующие пары кадра: и, и и и. Напротив, кадр переводится из кадра, таким образом объединенный Pg не находится в своем нулевом состоянии. Откройте Образцовый Отчет видеть значения объединенных положений в этой собранной настройке. Это не желательная настройка блока.
Настройка, изображенная в принципиальной схеме механизма, является желаемой начальной настройкой блока. Из принципиальной схемы мы видим, что в начальной настройке угол составляет приблизительно 35 градусов. Алгоритм блока может вестись путем определения объединенных целей положения и скорости. В этом примере цель положения для объединенного Ro может быть поставлена, чтобы вести блок в желаемую начальную настройку (см. фигуру ниже). Целевой приоритет был установлен как Высоко. Поскольку это - единственная цель в модели, Simscape Multibody может достигнуть его точно.
Обновите модель (Ctrl-D), чтобы обновить визуализацию с изменениями. Блок ближе к настройке в принципиальной схеме. Проверяйте Образцовый Отчет видеть, что объединенная цель для Ro была достигнута точно.
К сожалению, собранная настройка не является намеченной, потому что твердое тело B не выравнивается, как обозначено в принципиальной схеме. Попытка задать объединенные углы обоих и точно является сверхспецификацией для этого механизма степени свободы. Это не запрещается, но если существует конфликт, никакая цель не может быть достигнута. Кроме того, желаемый угол объединенного Ri даже не известен точно.
В этой ситуации удобный подход должен оставить высокоприоритетную цель 35 градусов на Ro, но задавать угол Ri через низкоприоритетную цель положения. Последний обеспечивает приближенное значение или подсказку, для желаемого объединенного угла. В этом случае очевидно, что угол должен быть тупым; 150 градусов являются грубой оценкой его требуемого значения. Эта цель поставлена для объединенного Ri с приоритетом Низко.
Собранную настройку после того, чтобы ставить новую цель показывают ниже.
Моделируйте модель (Ctrl-T), чтобы просмотреть движение механизма под силой тяжести.
В этом примере цель состоит в том, чтобы заставить угол отследить желаемую траекторию путем применения крутящего момента в объединенном Ri. Объединенный Ri будет приводимым в действие крутящим моментом и объединенный угол, и его производная (угловая скорость) будет обнаружена от объединенного Ro. Целый механизм может быть заключен в подсистеме, которая берет вход крутящего момента и выводит угол и угловую скорость. Этой подсистемой является канонический Объект в языке Системы управления. Модель sm_dcrankaim_plant показывает настройку механизма для системы управления.
Детали подсистемы Объекта показывают ниже.
Модель sm_dcrank_aiming_mechanism_v1 показывает Объект, сцепленный до Контроллера. Производительность отслеживания контроллера может быть просмотрена в осциллографе. Простой контроллер PD был разработан, чтобы достигнуть отслеживания.
Теперь, когда базовая модель работает, следующий шаг должен добавить деталь, чтобы сделать модель более реалистичной и точной. Возможно, первая версия модели была создана, когда подробная информация о геометрии твердых тел еще не была доступна. Тщательно установив интерфейсы твердых тел, довольно легко добавить деталь в каждое из твердых тел, не влияя/изменяя на остальную часть модели.
Как пример, рассмотрите добавляющую деталь к твердому телу Некоторое время, сохраняющему его интерфейс неизменный. Фигура ниже твердого тела показов как состав более простых тел. Интерфейс, представленный твердым телом A, является все еще парой кадров и. Их положения и ориентации остаются неизменными. Кадры, и являются внутренними к твердому телу и должны быть созданы, чтобы собрать отдельные части твердого тела в целое. Модель 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.