exponenta event banner

Перевод САПР

Перевод CAD-модели

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

Преобразование CAD-модели выполняется в два этапа - экспорт и импорт. На шаге экспорта модель CAD-сборки преобразуется в XML-файл описания множества тел и набор файлов геометрии деталей STEP или STL. На этапе импорта файлы описания и геометрии деталей преобразуются в модель Simscape Multibody SLX и файл данных M. Модель получает все входные данные параметров блока из файла данных.

Шаги перевода САПР

Что в переведенной модели?

Преобразованная модель представляет CAD-детали, называемые телами в программном обеспечении Simscape Multibody, с использованием подсистем Simulink ®, содержащих несколько твердотельных блоков и блоков жесткого преобразования. Твердотельные блоки обеспечивают геометрию тела, инерцию и цвета. Блоки жесткого преобразования обеспечивают каркасы необходимыми позами для соединения между телами.

Рассмотрим тело верхней руки модели роботизированной руки CAD, показанной на рисунке. Подсистема Simulink для этого тела состоит из одного сплошного блока, соединенного с парой блоков жесткого преобразования. Блок твердого тела предоставляет ссылку на файл геометрии верхнего плеча и инерционные свойства, полученные из CAD-модели. Блоки жесткого преобразования обеспечивают рамы для соединения с основанием робота и телами нижних рук.

Подсистема Simulink, представляющая тело плеча

CAD-соединения, зависимости и сопряжения преобразуются в программное обеспечение Simscape Multibody в виде комбинаций блоков соединений и зависимостей. В примере роботизированной руки САПР ограничения между верхней рукой и нижней рукой преобразуются в блок поворотного соединения. Этот блок расположен между блоками Simulink Subsystem, которые представляют верхнюю и нижнюю части руки.

Подсистема Simulink, представляющая тело плеча

По умолчанию преобразованная модель сохраняет структурную иерархию исходной CAD-модели. Если исходная модель является CAD-моделью с многозначными подсборками, подсборки преобразуются в программе Simscape Multibody в многозначные подсистемы Simulink. Еще раз рассмотрим модель роботизированной руки CAD. Модель содержит узел с несколькими телами с ручками и семью телами, схематически показанными на рисунке.

Иерархия модели роботизированной руки CAD

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

Многозвенная подсистема симуляции с подсистемами симуляции тела

Что находится в файле данных?

Блоки в преобразованной модели параметризуются в терминах переменных MATLAB ®, определенных в файле данных. Эти переменные хранятся в структурных массивах с именами различных типов блоков. Массивы структуры вложены в родительскую структуру данных с именемsmiData или заданную пользовательскую строку.

Рассмотрим импортированную модель со структурой данных с именем smiData. Если модель содержит блоки вращения соединения, данные параметров для этих блоков являются массивом структуры smiData.RevoluteJoint. Этот структурный массив содержит несколько полей данных, каждое из которых соответствует отдельному параметру блока.

Поля массива структуры именуются в соответствии с параметрами блока. Например, целевые данные состояния положения для блоков поворотного соединения находятся в поле с именем Rz_Position_Target. Если модель имеет два блока вращательного соединения, это поле содержит две записи -smiData.RevoluteJoint(1).Rz_Position_Target и smiData.RevoluteJoint(2).Rz_Position_target.

Каждый индекс массива структуры соответствует определенному блоку в импортированной модели. Назначения индекса могут измениться при регенерации файла данных из обновленного XML-файла описания с несколькими телами. smimport функция проверяет предыдущий файл данных, если он указан, чтобы обеспечить неизменность назначений индексов. См. раздел Обновление существующего файла данных.

Экспорт CAD-модели

Технически модель CAD-сборки можно экспортировать из любого CAD-приложения. Подключаемый модуль CAD Simscape Multibody Link предоставляет одно средство для экспорта модели в допустимом формате XML. Подключаемый модуль совместим с тремя приложениями CAD для настольных ПК: SolidWorks ®, PTC ® Creo™ и Autodesk ® Inventor ®. Подключаемый модуль создает не только XML-файл описания с несколькими телами, но и любые файлы геометрии, необходимые для визуализации в окончательной преобразованной модели.

Мультибоды Simscape smexportonshape функция предоставляет другое средство для экспорта CAD-модели из облачного приложения Onshape ®. Эта функция экспортирует только в формате, совместимом с новыми блоками Simscape Multibody. Дополнительные сведения об экспорте (и импорте) CAD-моделей из учетной записи Onshape см. в разделе Импорт Onshape.

При использовании неподдерживаемого CAD-приложения можно создать программу, использующую CAD API и XML-схему Simscape Multibody для создания файлов описания и геометрии деталей. Для выполнения этой задачи требуются знания XML-документов, определений XSD-схем и CAD-интерфейсов API. Определения схемы XSD см. на веб-сайте схемы. Пример программы, построенной на базе CAD API SolidWorks, см. в разделе MATLAB Central.

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

Примечание об ошибках экспорта

Если подключаемый модуль Simscape Multibody Link не может экспортировать файл геометрии детали или преобразовать набор ограничений CAD, программа выдает сообщение об ошибке. Сообщение об ошибке идентифицирует тела с отсутствующими файлами геометрии и любыми неподдерживаемыми ограничениями. Созданный XML-файл описания мультибелов можно импортировать в программное обеспечение Simscape Multibody, но полученная модель может неточно представлять исходную модель CAD-сборки.

Импорт CAD-модели

Импорт XML-файла описания с несколькими телами выполняется с помощью Simscape Multibody smimport в режиме импорта по умолчанию. Функция анализирует файл и создает модель Simscape Multibody и связанный файл данных. Пошаговые инструкции по импорту модели CAD-сборки из файла описания XML-многоформатной сборки см. в разделе Импорт модели CAD-сборки.

Примечание

Начиная с версии программного обеспечения R2017b, подключаемый модуль Simscape Multibody Link экспортирует в формате XML, совместимом только с программным обеспечением Simscape Multibody второго поколения. Необходимо импортировать все такие XML-файлы с помощью smimport функция. Модели, созданные с помощью этой функции, содержат только блоки второго поколения, доступные при вводе командыsm_lib в командной строке MATLAB.

Программное обеспечение Simscape Multibody First Generation больше не поддерживается, и mech_import функция больше не может использоваться.

Ошибки импорта САПР

Если файл геометрии детали недействителен или отсутствует, соответствующее тело не может отображаться в утилите визуализации Simscape Multibody. Если модель CAD-сборки содержит неподдерживаемую комбинацию зависимостей между телами, программа Simscape Multibody соединяет тела жестким соединением. Жесткое соединение может иметь форму прямой линии соединения рамы, блока «Жесткое преобразование» или блока «Сварное соединение».

Жесткое соединение из-за неподдерживаемых зависимостей

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

Warning: The set of constraints between upperarm_1_RIGID and forearm_1_RIGID
could not be mapped to a joint. A rigid connection has been added between port F
of upperarm_1_RIGID and port F1 or forearm_1_RIGID for these constraints.

Упрощение топологии модели

Можно импортировать CAD-модель с упрощенной топологией. Чтобы вы могли это сделать, smimport функция обеспечивает ModelSimplification аргумент. Можно задать для этого аргумента значение:

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

  • groupRigidBodies сгруппировать жестко связанные детали в подсистемы (и оставить соединения на исходных местах в иерархии модели).

  • None импортировать модель как есть без упрощения.

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

Используйте bringJointsToTop опция, если CAD-модель имеет соединения внутри подсборок и предпочитает выставлять их на верхнем уровне - например, для работы с сигналами срабатывания и восприятия соединений без необходимости поиска соединений внутри различных подсистем.

Обратите внимание, что упрощение модели доступно только для импорта CAD. Модели URDF имеют плоские топологии с незначительной необходимостью упрощения.

Обновление существующего файла данных

Для регенерации файла данных для ранее импортированной модели выполните команду smimport функция в dataFile режим. Вы указываете этот режим с помощью дополнительного ImportMode Name,Value парный аргумент. Функция использует предыдущий файл данных для сохранения соответствия между индексами массива структуры и блоками.

Перед регенерацией файла данных необходимо экспортировать новый XML-файл многоформатного описания из обновленной модели CAD-сборки. smimport функция использует данные в новом файле описания с несколькими телами для создания нового файла данных.

Функция не обновляет блок-схему при запуске в dataFile режим. При добавлении или удалении тел в исходной модели CAD-сборки необходимо вручную добавить или удалить соответствующие блоки в ранее импортированной модели.

Обновление САПР