Можно импортировать в виртуальный мир в Simulink® 3D Animation™ модели окружения робота и 3-D робота, которые заданы с использованием унифицированного формата описания робота (.urdf
) или формат описания симуляции (.sdf
). Формат файла URDF является форматом XML, который задает различные свойства модели (обычно робота). При импорте из файла URDF импортируется только визуальное представление модели. Это представление обычно ссылается на файлы формы компонента модели, заданные как файлы STL или ДАУ. Можно импортировать визуальные свойства объектов, имеющихся в файлах URDF или SDF, в соответствующую иерархическую структуру Transform
узлы, содержащие IndexedFaceSet
объекты с текстурами.
Файлы URDF и SDF используют форматы Collada DAE и STL для определения визуальных свойств объектов сцены.
Чтобы импортировать визуальное представление роботов, в 3D World Editor выберите Nodes > Import From. Затем выберите STL File, Physical Modeling XML File, URDF File, SDF File или COLLADA File. Из MATLAB® командная строка, вы можете использовать
функцию для импорта vrimport
.urdf
, .dae
, .stl
, и .sdf
файлы в виртуальный мир.
Импорт URDF и SDF поддерживает подмножество формата файла 3D ДАУ Collada (объекты, которые обычно присутствуют в файлах URDF и SDF: объекты геометрической формы с текстурами).
Этот пример импортирует файл ДАУ Collada, fox.dae
, в сцену с предопределенной сеткой, серым фоном и точкой обзора. Лисья голова представляет собой сферу с радиусом 1 м, расположенную в источник и смотрящую в направлении оси VRML + z.
The fox.dae
поставляется с программным обеспечением Simulink 3D Animation. Путь следующий matlabroot/toolbox/sl3d/sl3ddemos/fox.dae
.
На панели инструментов MATLAB, на вкладке Apps, в разделе Simulation Graphics and Reporting, нажмите 3D World Editor.
В 3D World Editor выберите File > New from Template.
В диалоговом окне файла выберите Grids
и выберите XZGrid.wrl
виртуальные файлы привязки.
Сохраните виртуальный мир в текущей папке. Выберите File > Save as и назовите виртуальный файл привязки fox_dae.wrl
.
Импортируйте модель ДАУ. Выберите Nodes > Import From > COLLADA File. Выберите fox.dae
файл.
Откройте COLLADA_fox_Transform
узел и установите scale
значение поля 3 для каждой размерности.
В этом примере fox.urdf
файл ссылается на fox.dae
файл. Файл URDF преобразует исходную модель ДАУ так, чтобы лиса была переведена в положение [4 1 0] и повернута так, что она указывает на направление оси VRML + x.
The fox.urdf
поставляется с программным обеспечением Simulink 3D Animation. Путь следующий matlabroot/toolbox/sl3d/sl3ddemos/fox.urdf
.
На панели инструментов MATLAB, на вкладке Apps, в разделе Simulation Graphics and Reporting, нажмите 3D World Editor.
В 3D World Editor выберите File > New from Template.
В диалоговом окне файла выберите Grids
и выберите XZGrid.wrl
виртуальные файлы привязки.
Сохраните виртуальный мир в текущей папке. Выберите File > Save as и назовите виртуальный файл привязки fox_urdf.wrl
.
Импортируйте модель URDF. Выберите Nodes > Import From > URDF File. Выберите fox.urdf
файл.
Откройте URDF_visual_Transform
узел и установите scale
значение поля 3 для каждой размерности.
SDF - XML- формат, описывающий объекты и окружения для симуляторов роботов, визуализации и управления, первоначально разработанный в составе симулятора роботов Gazebo. Папка, в которой model.sdf
файл расположен, задает имя модели SDF. Этот пример показов, как импортировать простой механизм ссылки рук.
Пример принимает, что у вас есть
Загрузите simple_arm
папка модели (включая все ее содержимое) с этого сайта модели Gazebo: http://models.gazebosim.org/simple_arm/. Чтобы загрузить все содержимое папки, загрузите и распакуйте model.tar.gz
файл.
На панели инструментов MATLAB, на вкладке Apps, в разделе Simulation Graphics and Reporting, нажмите 3D World Editor.
В 3D World Editor выберите File > New from Template.
В диалоговом окне файла выберите Grids
и выберите XZGrid.wrl
виртуальные файлы привязки.
Сохраните виртуальный мир в текущей папке. Выберите File > Save as и назовите виртуальный файл привязки simple_arm.wrl
.
Импортируйте модель SDF. Выберите Nodes > Import From > SDF File. В simple_arm
папка, выберите model.sdf
файл.
Откройте SDF_simple_arm_Transform
узел и установите scale
значение поля 3 для каждой размерности.
Процесс импорта создает в иерархии модели некоторые специальные Transform
узлы, которые облегчают управление моделями. Каждое вращательное соединение в модели SDF представлено Transform
узел с именем, начинающимся с axis_
. Эти узлы имеют заданные оси поворота, так что элементы модели перемещаются последовательно, если задать угол поворота другое значение.
Измените угол поворота поворотного узла шарнира. Например, разверните children
узел, затем joint_arm_shoulder_pan_joint
узел, затем children
и, наконец, axis_arm_shoulder_pan_joint
. Для rotation
установите четвертый элемент равным 1.
Совет
Если вы связываете этот виртуальный мир с блоком VR Sink в модели Simulink, можно использовать блок VR Signal Expander, чтобы задать только угол поворота (четвертый элемент вектора поворота) axis_xxx
Transform
вращение узла. Оставьте первые три элемента вектора без изменений. Этот подход сохраняет согласованность робота с тем, как авторы модели определили движение частей робота.
Когда вы импортируете модель, часто она не появляется в исходном представлении виртуального мира. При необходимости создайте точку зрения, чтобы сделать импортированную модель видимой, когда виртуальный мир откроется. Если импортированная модель не видна:
В 3D World Editor выберите ROOT
узел.
Выберите Nodes > Add > Bindable > Viewpoint.
Чтобы наблюдать импортированную модель, перейдите в подходящее место в сцене.
Заполните свойства точки обзора текущими настройками камеры. На панели иерархии дерева щелкните правой кнопкой мыши точку обзора и выберите Copy values from current camera.
Спасите виртуальный мир.
Импорт URDF преобразует иерархию ссылок и соединений робота в VRML или X3D иерархию преобразований. Он импортирует только свойства визуализации из каждой ссылки. Соединения представлены преобразованиями, которые сохраняют оси вращения исходных шарниров вращения и выравнивание осей призматических соединений.
Импорт SDF преобразует иерархию объектов модели SDF в VRML или X3D иерархию преобразований так же, как и импорт URDF. Он поддерживает подмножество объектов формата SDF и ограничивается визуальными объектами под Model
иерархия элементов. Поддерживаемые Geometry
элементы являются геометрическими примитивами и сетками.