smimport

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

Синтаксис

[H,dataFileName] = smimport(modelSource)
[H,dataFileName] = smimport(modelSource,Name,Value)

Описание

пример

[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 с Твердыми и Твердыми блоками Преобразования — элементные компоненты, от которых атрибуты формы, инерции, цвета и размещения выводят. Ограничения сопоставляют в соединение, механизм и другие ограничительные блоки.

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

пример

[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 должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: 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

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

свернуть все

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

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

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

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

Примеры

Импортируйте модель CAD с именем по умолчанию

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

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

    smimport('sm_robot');
  2. Обновите схему, чтобы собрать модель и визуализировать его в Mechanics Explorer. Можно обновить схему из панели меню Simulink® путем выбора Simulation> Update Diagram.

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

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

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

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

Импортируйте модель CAD с пользовательским именем

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

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

Обновите импортированную модель CAD

Регенерируйте файл данных для импортированной Модели 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 = 'robotFileData';
hws.reload;

Чтобы сделать то же использование Model Explorer, выберите модель и, в панели Model Workspace, обновите параметр File Name. Нажмите кнопку Reinitialize from Source, чтобы применить изменение.

Импортируйте модель URDF

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

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

    smimport('sm_humanoid.urdf');
  2. Обновите схему, чтобы визуализировать модель в ее начальной настройке с помощью Mechanics Explorer. Можно обновить схему из панели меню Simulink путем выбора Simulation> Update Diagram.

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

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

Импортируйте объект RigidBodyTree

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

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

    iiwaRBT = importrobot('iiwa14.urdf');

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

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

    iiwaSM = smimport(iiwaRBT);
  3. Обновите схему, чтобы визуализировать модель в ее начальной настройке с помощью Mechanics Explorer. Можно обновить схему из панели меню Simulink путем выбора Simulation> Update Diagram.

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

Смотрите также

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

Для просмотра документации необходимо авторизоваться на сайте