smimport

Импортируйте CAD, URDF или модель Robotics System Toolbox

Описание

[H,dataFileName] = smimport(modelSource) создает модель Simscape Multibody из CAD, URDF или модели Robotics System Toolbox.

modelSource имя файла или объекта, содержащего модель или, для импорта CAD, промежуточного представления его. Модели 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 делает то же самое для Autodesk Inventor®, PTC® и Моделей CAD SolidWorks®. Плагин распространяется свободно. Для других приложений CAD, и для инструментов моделирования сборок других типов, XML-схема Simscape Multibody позволяет создать пользовательское приложение экспорта модели.

CAD, URDF и RigidBodyTree модели вся доля те же компоненты. Это (i) твердые тела, также известные как части в Моделях CAD и ссылки в моделях URDF и (ii) кинематические ограничения, упакованные, в некоторых случаях, как соединения. Твердые тела импортируют как Подсистемы Simulink с телом и блоками Rigid Transform — элементные компоненты, из которых атрибуты формы, инерции, цвета и размещения выводят. Ограничения сопоставляют в соединение, механизм и другие ограничительные блоки.

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

Примечание

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

пример

[H,dataFileName] = smimport(modelSource,Name,Value) создает модель Simscape Multibody из CAD, URDF или модели Robotics System Toolbox с пользовательским именем или регенерирует файл данных ранее импортированной Модели CAD. Большинство аргументов пары "имя-значение" применяется только к Моделям CAD. Используйте ImportMode регенерировать файлы данных параметра и PriorDataFile отлавливать непреднамеренные изменения в модели, такие как удаление части или изменения на его имя.

Входные параметры

свернуть все

Имя модели, чтобы импортировать. Используйте имя файла модели для моделей CAD и URDF и имя rigidBodyTree объект для моделей Robotics System Toolbox. Включайте расширение и путь для файлов модели. Файлы модели 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. Этот аргумент применяется только к импорту CAD.

Пример: 'bringJointsToTop'

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

Опция, чтобы сгенерировать новую модель или обновить существующие данные модели. Установите ImportMode к modelAndDataFile сгенерировать новую модель и файл данных. Установите ImportMode к dataFile сгенерировать новый файл данных для ранее импортированной модели. Функция не обновляет саму блок-схему. Если вы не задаете ImportMode, функция запускается в modelAndDataFile режим. Этот аргумент применяется только к импорту CAD.

Пример: 'dataFile'

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

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

Пример: 'robotto'

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

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

Пример: 'robottos_new_data'

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

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

Пример: 'robottos_original_data'

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

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

Пример: 'robottosData'

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

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

свернуть все

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

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

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

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

Примеры

свернуть все

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

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

smimport('sm_robot');

Обновите схему, чтобы собрать модель и визуализировать его в Mechanics Explorer. Во вкладке Modeling нажмите Update Model.

Модели CAD часто принимают ось Y как вертикальную ось, в то время как модели Simscape Multibody принимают ось z. В результате импортированная модель кажется поперечной на экране. Используйте View convention выпадающий список в Mechanics Explorer, чтобы откорректировать для различия в соглашении.

В полосе инструмента Mechanics Explorer, установленной параметр View Convention на Y up (XY Front) и выбор стандартная точка зрения, такая как Isometric, показанный ниже.

Выбор стандартного представления активирует новый вид представления. Модель вращается, чтобы принять ее ориентацию в исходной Модели 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 Explorer, во-первых, выбирают MODELING> DESIGN> Model Workspace, чтобы открыть Model Explorer. Затем в Иерархии модели Model Explorer, щелкните левой кнопкой по Model Workspace. В панели 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, и таким образом, это фиксируется к мировой системе координат после импорта.

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

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

Преобразуйте модель URDF в RibidBodyTree объект.

iiwaRBT = importrobot('iiwa14.urdf');

Примечание

Лицензия Robotics System Toolbox требуется запуститься importrobot (Robotics System Toolbox).

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

iiwaSM = smimport(iiwaRBT);

Обновите схему, чтобы визуализировать модель в ее начальной настройке с помощью Mechanics Explorer. Во вкладке Modeling нажмите Update Model.

Добавьте гравитационное ускорение вдоль отрицательной оси z модели путем выбора Uniform Gravity> Gravity и ввода [0 0 -9.80665].

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

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