主要内容

importrobot

从URDF、SDF文件、文本或Simscape多体模型

描述

URDF或SDF导入

例子

机器人= importrobot (文件名返回一个rigidBodyTree通过解析指定的URDF (Unified Robot Description Format)或SDF (Simulation Description Format)文件文件名

例子

机器人= importrobot (URDFtext解析URDF文本。指定URDFtext作为字符串标量或字符向量。

机器人= importrobot (SDFtext解析SDF文本。指定SDFtext作为字符串标量或字符向量。

机器人= importrobot (___格式除了前面语法中的输入参数的任何组合外,还显式指定机器人描述的类型。中指定的文本文件格式不匹配格式参数时,函数返回错误。

机器人= importrobot (___名称,值除了使用以前语法中的输入参数的任何组合外,还使用一个或多个名称-值对参数指定选项。使用URDF或SDF导入从URDF、SDF文件或文本导入模型的名称-值对。

Simscape多体模型导入

机器人importInfo) = importrobot (模型进口Simscape™多体™建模并返回一个等价的rigidBodyTree对象和关于导入的信息importInfo.在输出中只支持固定关节、移动关节和转动关节金宝apprigidBodyTree对象。

机器人importInfo) = importrobot (___名称,值除了指定选项外,还指定使用一个或多个名称-值对参数的选项Simscape多体根据前面的语法建立模型。使用Simscape多体模型导入名称-值对用于导入使用其他关节类型、约束块或可变惯性的模型。

例子

全部折叠

将URDF文件导入为rigidBodyTree对象。

机器人= importrobot (“iiwa14.urdf”
robot = rigidBodyTree with properties: NumBodies: 10 Bodies: {1x10 cell} Base: [1x1 rigidBody] BodyNames: {1x10 cell} BaseName: 'world' Gravity: [0 0 0] DataFormat: 'struct'
表演(机器人)

图中包含一个轴对象。axis对象包含29个patch、line类型的对象。这些对象代表world, iiwa_link_0, iiwa_link_1, iiwa_link_2, iiwa_link_3, iiwa_link_4, iiwa_link_5, iiwa_link_6, iiwa_link_7, iiwa_link_ee, iiwa_link_ee_kuka, iiwa_link_0_mesh, iiwa_link_1_mesh, iiwa_link_2_mesh, iiwa_link_3_mesh, iiwa_link_4_mesh, iiwa_link_5_mesh, iiwa_link_6_mesh, iiwa_link_7_mesh。

ans=轴(主)和属性:XLim:[-1.5000 1.5000]YLim:[-1.5000 1.5000]XScale:“线性”YScale:“线性”GridLineStyle:“-”位置:[0.1300 0.1100 0.7750 0.8150]单位:“标准化”显示所有属性

指定URDF字符向量。该特征向量是创建有效机器人模型的最简描述。

URDFtext =' < ?xml version = " 1.0 " ? > <机器人的名字=“min”> <链接name = " 10 " / > < /机器人>”

导入机器人模型。描述创建一个rigidBodyTree对象,该对象仅具有名为“10”

机器人= importrobot (URDFtext)
robot = rigidBodyTree with properties: NumBodies: 0 Bodies: {1x0 cell} Base: [1x1 rigidBody] BodyNames: {1x0 cell} Base: [1x1 rigidBody] BodyNames: {1x0 cell} BaseName: 'L0' Gravity: [0 0 0] DataFormat: 'struct'

你可以导入具有.stl文件与统一机器人描述格式(URDF)文件相关联,用于描述机器人的视觉几何形状。每个刚体都有一个特定的视觉几何。的importrobot函数解析URDF文件以获得机器人模型和可视几何图形。该函数假定机器人的视觉几何体和碰撞几何体相同,并将视觉几何体指定为相应实体的碰撞几何体。

使用显示函数以图形的形式显示机器人模型的视觉和碰撞几何图形。然后,您可以通过单击组件来检查它们,并右键单击以切换可见性来与模型进行交互。

将机器人模型作为URDF文件导入。这个.stl文件位置必须在这个URDF中正确指定。添加其他.stl文件到单个刚体,看addVisual

机器人= importrobot (“iiwa14.urdf”);

用相关的视觉模型可视化机器人。点击身体或框架来检查它们。右击物体以切换每个可视几何体的可见性。

表演(机器人,“视觉效果”“上”“碰撞”“关闭”);

图中包含一个轴对象。axis对象包含29个patch、line类型的对象。这些对象代表world, iiwa_link_0, iiwa_link_1, iiwa_link_2, iiwa_link_3, iiwa_link_4, iiwa_link_5, iiwa_link_6, iiwa_link_7, iiwa_link_ee, iiwa_link_ee_kuka, iiwa_link_0_mesh, iiwa_link_1_mesh, iiwa_link_2_mesh, iiwa_link_3_mesh, iiwa_link_4_mesh, iiwa_link_5_mesh, iiwa_link_6_mesh, iiwa_link_7_mesh。

可视化机器人与相关的碰撞几何图形。点击身体或框架来检查它们。右键单击物体以切换每个碰撞几何图形的可见性。

表演(机器人,“视觉效果”“关闭”“碰撞”“上”);

图中包含一个轴对象。axis对象包含29个patch、line类型的对象。这些对象代表world, iiwa_link_0, iiwa_link_1, iiwa_link_2, iiwa_link_3, iiwa_link_4, iiwa_link_5, iiwa_link_6, iiwa_link_7, iiwa_link_ee, iiwa_link_ee_kuka, iiwa_link_0_mesh, iiwa_link_1_mesh, iiwa_link_2_mesh, iiwa_link_3_mesh, iiwa_link_4_mesh, iiwa_link_5_mesh, iiwa_link_6_mesh, iiwa_link_7_mesh, iiwa_link_0_coll_mesh, iiwa_link_5_mesh, iiwa_link_7_mesh, iiwa_link_0_coll_mesh,Iiwa_link_1_coll_mesh, iiwa_link_2_coll_mesh, iiwa_link_3_coll_mesh, iiwa_link_4_coll_mesh, iiwa_link_5_coll_mesh, iiwa_link_6_coll_mesh, iiwa_link_7_coll_mesh。

导入现有Simscape™ 多体™ 将机器人模型放入机器人系统工具箱™ 作为一个rigidBodyTree对象。

打开Simscape™Multibody™模型。这是仿人机器人的模型。

open_system (“example_smhumanoidrobot.slx”

导入模型。

[机器人,importInfo] = importrobot (gcs)
robot=rigidBodyTree,属性为:NumBodies:21个实体:{1x21 cell}Base:[1x1 rigidBody]实体名称:{1x21 cell}BaseName:'Base'重力:[0-9.8066]数据格式:'struct'
importInfo = rigidBodyTreeImportInfo with properties: SourceModelName: 'example_smhumanoidrobot' RigidBodyTree: [1x1 RigidBodyTree] blockconverversioninfo: [1x1 struct]

显示创建的详细信息rigidBodyTree对象。

showdetails(导入信息)
-------------------- 机器人:(21)尸体Idx身体名字仿真软件源块联合仿真软件源金宝app块联合类型父母名字(Idx)孩子的名字(s ) --- --------- ---------------------- ---------- ---------------------- ---------- ---------------- ---------------- 1 Body01信息| | |突出Joint01信息列表|突出转动基地(0)Body02 Body02信息(2)2| | |突出Joint02信息列表|突出转动Body01 (1) Body03 (3) 3 Body03信息| | |突出Joint03信息列表|突出转动Body02 (2) Body04 (4) 4 Body04信息| | |突出Joint04信息列表|突出转动Body03 (3) 5 Body05信息| | |突出Joint05信息列表|突出转动基地(0)Body06 (6)6 Body06信息| | |突出Joint06信息列表|突出转动Body05 (5) Body07 (7) 7 Body07信息| | |突出Joint07信息列表|突出转动Body06 (6) Body08 (8) 8 Body08信息| | |突出Joint08信息列表|突出转动Body07 (7) 9 Body09信息| | |突出Joint09信息列表|突出转动基地(0)Body10 (10) 10 Body10信息| | |突出Joint10信息列表|突出转动Body09 (9) Body11 (11) 11 Body11信息| | |突出Joint11信息列表|突出转动Body10 (10) Body12 (12) 12 Body12信息| | |突出Joint12信息列表|突出转动Body11 (11) 13 Body13信息| | |突出Joint13信息列表基础(0)|突出转动列表Body14 (14) 14 Body14信息| | |突出Joint14信息列表|突出转动Body13 (13) Body15 (15) 15 Body15信息| | |突出Joint15信息列表|突出转动Body14 (14) Body16 (16) 16 Body16信息| | |突出Joint16信息列表|突出转动Body15 (15) 17 Body17信息| |列表突出Joint17信息列表| |突出转动基地(0)Body18 (18) 18 Body18信息| | |突出Joint18信息列表|突出转动Body17 (17) Body19 (19) 19 Body19信息| | |突出Joint19信息列表|强调固定Body18 (18) Body20 20 Body20信息(20)| | |突出Joint20信息列表|强调固定Body19 (19) 21Body21 Info | List | Highlight Joint21 Info | List | Highlight fixed Base(0) --------------------

输入参数

全部折叠

URDF或SDF文件的名称,指定为字符串标量或字符向量。此文件必须是有效的URDF robot说明或SDF模型说明。

包含带有网格数据的机器人模型

机器人模型 描述
“iiwa7.urdf”

KUKA LBR iiwa 7 R800 7轴机器人

“iiwa14.urdf”

URDF版KUKA LBR iiwa 14 R820 7轴机器人

“iiwa14.sdf”

SDF版KUKA LBR iiwa 14 R820 7轴机器人

“sawyer.urdf”

反思机器人学Sawyer 7轴机器人

要下载包含的机器人模型的网格数据而不需要网格数据,请安装Robotics System Toolbox™机器人库数据金宝app支持包。看到获取和管理附加组件

包括没有网格数据的机器人模型

机器人模型 描述
“abbIrb120.urdf”

ABBIRB 120六轴机器人

“abbIrb120T.urdf”

ABB IRB 120T六轴机器人

“abbIrb1600.urdf”

ABBIRB 1600六轴机器人

“abbYuMi.urdf”

ABB由美2-armed机器人

“amrPioneer3AT.urdf”

Adept MobileRobots Pioneer 3-AT移动机器人

“amrPioneer3DX.urdf”

Adept MobileRobots Pioneer 3-DX移动机器人

“amrpionerlx.urdf”

Adept MobileRobots Pioneer LX移动机器人

“atlas.urdf”

波士顿动力公司阿特拉斯®仿人机器人

“clearpathHusky.urdf”

Clearpath机器人技术沙哑的移动机器人

“clearpathJackal.urdf”

Clearpath机器人技术移动机器人

“clearpathTurtleBot2.urdf”

Clearpath机器人技术TurtleBot 2移动机器人

“fanucLRMate200ib.urdf”

FANUC LR Mate 200iB 6轴机器人

“fanucM16ib.urdf”

FANUC M-16iB六轴机器人

“frankaEmikaPanda.urdf”

Franka Emika熊猫七轴机器人

“kinovaGen3.urdf”

KINOVA®Gen3 7轴机器人的第1版

“kinovaGen3V12.urdf”

KINOVA®Gen3 7轴机器人的第2版

“kinovaJacoJ2N6S200.urdf”

基诺瓦错话®2指6自由度非球形腕关节机器人

“kinovaJacoJ2N6S300.urdf”

基诺瓦错话®非球形手腕的3指6自由度机器人

“kinovaJacoJ2N7S300.urdf”

基诺瓦错话®非球形手腕的3指7自由度机器人

“kinovaJacoJ2S6S300.urdf”

基诺瓦错话®球形手腕的3指6自由度机器人

“kinovaJacoJ2S7S300.urdf”

基诺瓦错话®球面腕带3指7自由度机器人

“kinovaJacoTwoArmExample.urdf”

两个KINOVA错话®非球形手腕的3指6自由度机器人

“kinovaMicoM1N4S200.urdf”

KINOVA MICO®2指4自由度机器人

“kinovaMicoM1N6S200.urdf”

KINOVA MICO®2指6自由度机器人

“kinovaMicoM1N6S300.urdf”

KINOVA MICO®3指6自由度机器人

“kinovaMovo.urdf”

KINOVA MOVO®2臂移动机器人

“kukaIiwa7.urdf”

KUKA LBR iiwa 7 R800 7轴机器人

“kukaIiwa14.urdf”

KUKA LBR iiwa 14 R820 7轴机器人

“quanserQArm.urdf”

Quanser QArm4自由度机器人

“quanserQBot2e.urdf”

Quanser QBot 2 e移动机器人

“quanserQCar.urdf”

Quanser QCar移动机器人

“rethinkBaxter.urdf”

巴克斯特双臂机器人

“rethinkSawyer.urdf”

反思机器人学Sawyer 7轴机器人

“robotisOP2.urdf”

ROBOTIS OP2人形机器人

“robotisOpenManipulator.urdf”

ROBOTIS OpenMANIPULATOR带夹持器的四轴机器人

“robotisTurtleBot3Burger.urdf”

ROBOTIS TurtleBot 3汉堡机器人

“robotisTurtleBot3Waffle.urdf”

ROBOTIS TurtleBot 3华夫饼机器人

“robotisTurtleBot3WaffleForOpenManipulator.urdf”

ROBOTIS TurtleBot 3带OpenMANIPULATOR的华夫饼机器人

“robotisTurtleBot3WafflePi.urdf”

ROBOTIS TurtleBot 3华夫派机器人

“robotisTurtleBot3WafflePiForOpenManipulator.urdf”

ROBOTIS TurtleBot 3华夫派机器人与OpenMANIPULATOR

“universalUR3.urdf”

通用机器人UR3 6轴机器人

“universalUR5.urdf”

通用机器人UR5六轴机器人

“universalUR10.urdf”

通用机器人UR10六轴机器人

“valkyrie.urdf”

NASA Valkyrie仿人机器人

“willowgaragePR2.urdf”

柳树车库PR2移动机器人

“安川县5.urdf”

安川Motoman MH5六轴机器人

例子:“robot_file.urdf”

例子:“robot_file.sdf”

数据类型:字符|一串

URDF robot文本,指定为字符串标量或字符向量。

例子:"<?xml version = " 1.0 " ? > <机器人的名字=“min”> <链接name = " 10 " / > < /机器人>”

例子:“robot_file.txt”、“urdf”

数据类型:字符|一串

指定为字符串标量或字符向量的SDF模型文本。

例子:"<?xml version = " 1.0 " ? > <自卫队version = " 1.6 " > <模型名称=“min”> <链接name = " 10 " / > < /模型> < /自卫队>”

例子:“robot_file.txt”、“自卫队”

数据类型:字符|一串

机器人描述文本文件的文件格式,指定为字符串标量或字符向量。使用此参数显式指定机器人描述文件所需的格式。

例子:“robot_file.txt”、“urdf”

例子:“robot_file.txt”、“自卫队”

数据类型:字符|一串

Simscape多体模型,指定为模型句柄、字符串标量或字符向量。

数据类型:字符|一串

名称-值参数

指定可选的逗号分隔的对名称,值参数。名称参数名和价值为对应值。名称必须出现在引号内。可以以任意顺序指定多个名称和值对参数Name1, Value1,…,的家

例子:“MeshPath”{“. . / arm_meshes”、“. . / body_meshes”}
URDF或SDF导入

全部折叠

网格文件的相对搜索路径,指定为字符串标量、字符向量或字符串标量或字符向量的单元数组。网格文件仍然必须在URDF或SDF文件中指定,但是MeshPath定义这些指定文件的相对路径。

数据类型:字符|一串|细胞

输入/输出数据格式为机器人模型的运动学和动力学函数,指定为逗号分隔对组成“DataFormat”“结构”“行”,或“列”. 若要使用动力学函数,必须指定“行”“列”.该名称-值对设置DataFormat财产的rigidBodyTree机器人模型。

数据类型:字符|一串

从包含多个模型(指定为字符串标量或字符向量)的SDF文件或文本中选择一个模型。

请注意

此名称-值对仅适用于SDF模型和文本。

数据类型:字符|一串

Simscape多体模型导入

全部折叠

指示是否打破给定的闭链模型输入,指定为“错误”“remove-joints”.如果您指定“remove-joints”,结果是机器人输出已移除链封接头。否则,函数抛出一个错误。

数据类型:字符|一串

指示是否将给定的不受支持的关节转换为固定关节金宝app模型输入,指定为“错误”“convert-to-fixed”.如果您指定“convert-to-fixed”,结果是机器人输出将所有不受支持的运动类型转换为金宝app固定运动类型。输出中仅支持固定关节、棱柱关节和旋转关节rigidBodyTree对象。否则,如果模型如果函数包含不支持的关金宝app节,则抛出错误。

数据类型:字符|一串

指示是否删除给定对象中的约束块模型输入,指定为“错误”“删除”.如果您指定“删除”,结果是机器人输出删除了约束。否则,如果模型包含约束块时,函数将抛出错误。

数据类型:字符|一串

指示是否删除给定的可变惯性块模型输入,指定为“错误”“删除”.如果您指定“删除”,结果是机器人输出去掉了可变惯性。否则,如果模型包含可变惯性块,函数抛出错误。

数据类型:字符|一串

输入/输出数据格式为机器人模型的运动学和动力学函数,指定为逗号分隔对组成“DataFormat”“结构”“行”,或“列”. 若要使用动力学函数,必须指定“行”“列”.该名称-值对设置DataFormat财产的rigidBodyTree机器人模型。

数据类型:字符|一串

输出参数

全部折叠

机器人模型,返回为rigidBodyTree对象。

请注意

如果在URDF文件中没有指定重力,则使用默认值重力属性设置为(0 0 0)Simscape多体使用默认的[0 0 -9.80665]米/秒2当使用smimport导入URDF。

对象,用于存储导入信息RigidByTreeImportInfo对象。该对象包含输入之间的关系模型以及由此产生的机器人输出。

使用showdetails列表中每个主体的所有导入信息机器人. 用于显示刚体信息的链接、模型中相应的块以及模型中高亮显示的特定块将输出到命令窗口。

使用bodyInfobodyInfoFromBlock,或bodyInfoFromJoint中获取特定组件的信息机器人输出或模型输入。

提示

当导入具有视觉网格的机器人模型时,importrobot函数搜索.stl.dae文件分配给每个刚体使用以下规则:

  • 该函数从URDF或SDF文件中搜索指定刚体的原始网格路径。对ROS包的引用软件包:\\远离的。

  • 绝对路径直接检查,无需修改。

  • 相对路径的检查顺序如下:

    • 用户指定的MeshPath

    • 当前文件夹

    • MATLAB®路径

    • 包含URDF或SDF文件的文件夹

    • 在包含URDF或SDF文件的文件夹之上一级

  • URDF或SDF文件中网格路径中的文件名被附加到MeshPath输入参数。

如果仍然没有找到网格文件,解析器将忽略网格文件并返回rigidBodyTree没有视觉对象。

介绍了R2017a