exponenta event banner

smimport

Импорт модели CAD, URDF или панели инструментов системы робототехники

Описание

[H,dataFileName] = smimport(modelSource) создает модель Simscape Multiobody из модели CAD, URDF или панели инструментов системы робототехники.

modelSource - имя файла или объекта, содержащего модель, или, для импорта САПР, его промежуточное представление. CAD-модели должны быть в XML-файлах, модели URDF в файлах URDF и модели Robotics System Toolbox в RigidBodyTree объекты. XML-файлы должны соответствовать XML-схеме Simscape Multibody, а файлы URDF - спецификации URDF. Для создания требуется лицензия Robotics System Toolbox RigidBodyTree объекты.

H является дескриптором модели и dataFileName - имя поддерживающего файла, который в импортированных CAD-моделях сохраняет числовые значения параметров блока в массиве структуры, заполненном переменными MATLAB, на которые ссылаются блоки. Файл данных предоставляет механизм обновления импортированной модели при изменении CAD-модели. Модели, импортированные из файлов URDF илиRigidBodyTree объекты не полагаются на файлы данных для параметров блока.

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

CAD, URDF и RigidBodyTree все модели имеют одни и те же компоненты. Это (i) жесткие тела, также известные как детали в CAD-моделях и связи в моделях URDF, и (ii) кинематические зависимости, в некоторых случаях упакованные как соединения. Жесткие тела импортируются как подсистемы Simulink с твердотельными блоками и блоками жесткого преобразования - элементарными компонентами, из которых получаются атрибуты формы, инерции, цвета и размещения. Зависимости отображаются в блоки соединений, зубчатых колес и других зависимостей.

Модели URDF содержат <link> элементы, которые в свою очередь содержат <joint> элементы. Аналогично, RigidBodyTree объекты содержат RigidBody объекты, которые в свою очередь содержат Joint объекты. Эта иерархия изменяется при импорте в Simscape Multibody. Соединения становятся братьями и сестрами жестких тел и имеют не внутри подсистем жестких тел, а рядом с ними. Пределы соединения и исходные позиции сохраняются, а затем в качестве целей состояния положения в соответствующих блоках соединения.

Примечание

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

пример

[H,dataFileName] = smimport(modelSource,Name,Value) создает модель Simscape Multiobody из модели CAD, URDF или панели инструментов системы робототехники с пользовательским именем или регенерирует файл данных ранее импортированной CAD-модели. Большинство аргументов пары «имя-значение» применяются только к CAD-моделям. Использовать ImportMode для регенерации файлов данных параметров и PriorDataFile фиксация непреднамеренных изменений модели, таких как удаление детали или изменение ее имени.

Входные аргументы

свернуть все

Имя импортируемой модели. Используйте имя файла модели для моделей CAD и URDF и имя rigidBodyTree объект для моделей панели инструментов Robotics System. Включить расширение и путь для файлов модели. Файлы CAD-моделей должны быть в формате XML, а файлы URDF-моделей - в формате URDF. XML-файлы должны соответствовать XML-схеме Simscape Multibody. Если расширение файла отсутствует, предполагается, что модель имеет формат XML. Если путь к файлу отсутствует, предполагается, что файл находится в пути MATLAB ®.

Пример: 'robotto.xml'

Типы данных: char | string

Аргументы пары «имя-значение»

Укажите дополнительные пары, разделенные запятыми Name,Value аргументы. Name является именем аргумента и Value - соответствующее значение. Name должен отображаться внутри кавычек. Можно указать несколько аргументов пары имен и значений в любом порядке как Name1,Value1,...,NameN,ValueN.

Пример: smimport («sm _ robot», «ModelName», «robotto», «DataFileName», «robottos _ data _ file»);

Режим упрощения топологии модели, используемый при импорте CAD. Набор ModelSimplification кому:

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

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

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

Соединения, выводимые на верхний уровень модели, переименовываются с использованием общих имен на основе типа соединения - например,Revolute_Joint1. Подсистемам жестко соединенных компонентов, сгруппированным вместе, присваиваются обобщенные наименования на основе строки RigidSubsystem- например ,RigidSubsystem1. Этот аргумент применяется только к импорту САПР.

Пример: 'bringJointsToTop'

Типы данных: char | string

Возможность создания новой модели или обновления существующих данных модели. Набор ImportMode кому modelAndDataFile для создания новой модели и файла данных. Набор ImportMode кому dataFile для создания нового файла данных для ранее импортированной модели. Функция не обновляет саму блок-схему. Если не указать ImportMode, функция выполняется в modelAndDataFile режим. Этот аргумент применяется только к импорту САПР.

Пример: 'dataFile'

Типы данных: char | string

Имя создаваемой модели Simscape™ Multibody™. Модель сохраняется в формате SLX. Этот аргумент недопустим, когда ImportMode имеет значение dataFile. Если не указать ModelNameфайл модели называется именем файла описания с несколькими телами. Если имя файла описания с несколькими телами несовместимо с правилами именования MATLAB, используется несколько измененная версия.

Пример: 'robotto'

Типы данных: char | string

Имя файла данных вспомогательного параметра. Файл данных представляет собой файл M со значениями параметров блока, на которые ссылается импортированная модель Simscape Multibody. Если не указать DataFileNameфайл данных называется именем файла описания с несколькими телами. Если имя файла описания с несколькими телами несовместимо с правилами именования MATLAB, вместо него используется измененная версия. Этот аргумент применяется только к импорту САПР.

Пример: 'robottos_new_data'

Типы данных: char | string

Имя последнего файла данных параметров, связанного с ранее импортированной моделью. Предыдущий файл данных помогает идентифицировать изменения, требующие особого внимания, такие как новые физические единицы, добавленные и удаленные компоненты и изменения топологии модели. Этот аргумент допустим только в том случае, если ImportMode имеет значение dataFile. Этот аргумент применяется только к импорту САПР.

Пример: 'robottos_original_data'

Типы данных: char | string

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

Пример: 'robottosData'

Типы данных: char | string

Выходные аргументы

свернуть все

Дескриптор модели возвращен как двойной. Используйте маркер перемещения модели, чтобы получить или задать параметры модели, например, используя get_param и set_param функции.

Типы данных: double

Имя файла данных параметра. Файл данных представляет собой файл M со значениями параметров блока, на которые ссылается импортированная модель Simscape Multibody. Эти выходные данные применяются только к импорту САПР.

Типы данных: char

Примеры

свернуть все

Импорт CAD-модели роботизированной руки. Модель экспортирована в формате XML с помощью Simscape Multibody Link. XML-файл имеет имя sm_robot.xml и является частью установки Simscape Multibody.

Импортировать модель и сохранить ее в памяти как Untitled. Позднее можно изменить имя. Поскольку модель имеет формат XML, в ее имени можно опустить расширение.

smimport('sm_robot');

Обновите схему, чтобы собрать модель и визуализировать ее в обозревателе Mechanics. На вкладке Моделирование (Modeling) щелкните Обновить модель (Update Model).

CAD-модели часто принимают ось y в качестве вертикальной оси, а модели Simscape Multibody - в качестве оси Z. В результате импортированная модель появляется на экране сбоку. Используйте выпадающий список Показать соглашение (View convention) в Mechanics Explorer, чтобы исправить разницу в соглашении.

На панели инструментов Mechanics Explorer установите для параметра «Соглашение о видах» значение «Y up» (XY Front) и выберите стандартную точку обзора, например «Изометрия», показанную ниже.

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

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

Импорт CAD-модели роботизированного манипулятора и сохранение ее в активной папке с именем robotto. Имя файла данных параметров robottos_data_file.

smimport('sm_robot','ModelName','robotto',...
'DataFileName','robottos_data_file');

Выполните регенерацию файла данных для импортированной CAD-модели роботизированного манипулятора. Во избежание перезаписи исходного файла данных присвойте новому файлу имя robottos_new_data_file.

smimport('sm_robot','ImportMode','dataFile','DataFileName',...
'robottos_new_data_file','PriorDataFile','robottos_data_file');

Поместите импортированную модель в новый файл данных и повторно инициализируйте рабочее пространство модели.

hws = get_param(bdroot,'modelworkspace');
hws.DataSource = 'MATLAB File';
hws.FileName = 'robottos_new_data_file';
hws.reload

Чтобы сделать то же самое с помощью Проводника моделей, сначала выберите команду МОДЕЛИРОВАНИЕ > КОНСТРУКЦИЯ > Рабочее пространство модели, чтобы открыть Обозреватель моделей. Затем в иерархии моделей обозревателя моделей щелкните левой кнопкой мыши Модель (Model) Рабочее пространство (Workspace). На панели «Рабочее пространство модели» введите robottos_new_data_file.m в параметре Имя файла (File Name) и нажмите кнопку Повторно инициализировать из источника (Reinitialize from Source), чтобы применить изменение.

Импорт модели URDF робота-гуманоида. Модель имеет имя sm_humanoid.urdf и является частью установки Simscape Multibody.

Импортировать модель и сохранить ее в памяти как Untitled. Позднее можно изменить имя. Поскольку модель имеет формат URDF, требуется расширение файла.

smimport('sm_humanoid.urdf');

Обновите схему, чтобы визуализировать модель в ее начальной конфигурации с помощью Mechanics Explorer. На вкладке Моделирование (Modeling) щелкните Обновить модель (Update Model).

Моделирование модели. Как и в случае с рукой робота, у гуманоидного робота отсутствует система управления и он беспорядочно качается под действием силы тяжести. Линия обочины служит корневым телом в модели URDF, поэтому после импорта она фиксируется к мировой рамке.

Попробуйте изменить модель, например, удалив жесткое соединение между линией обочины и мировой рамой и добавив подсистемы управления в различные соединения. См. показанный пример Humanoid Robot для версии модели с основными органами управления движением. Можно открыть пример, введяsm_import_humanoid_urdf в командной строке MATLAB.

Импорт a RigidBodyTree объект для серийного манипулятора LBR iiwa (производства KUKA Robotics). Элементы модели в установке панели инструментов системы робототехники в виде модели URDF с именем iiwa14.urdf.

Преобразование модели URDF в RibidBodyTree объект.

iiwaRBT = importrobot('iiwa14.urdf');

Примечание

Для запуска требуется лицензия Robotics System Toolbox importrobot(Панель инструментов системы робототехники).

Импорт iiwaRBT объект в Simscape Multibody.

iiwaSM = smimport(iiwaRBT);

Обновите схему, чтобы визуализировать модель в ее начальной конфигурации с помощью Mechanics Explorer. На вкладке Моделирование (Modeling) щелкните Обновить модель (Update Model).

Добавьте гравитационное ускорение вдоль отрицательной оси z модели, выбрав «Равномерная сила тяжести» > «Сила тяжести» и введя [0 0 -9.80665].

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

См. также

| (Панель инструментов системы робототехники)

Представлен в R2012b