importrobot
导入刚体树模型从URDF, SDF文件,文本或Simscape多体模型
语法
描述
URDF或SDF导入
返回一个机器人
= importrobot (文件名
)rigidBodyTree
对象中指定的URDF或SDF文件文件名
.
指定使用一个或多个名称-值对参数以及来自以前语法的输入参数的任何组合的选项。使用URDF或SDF导入从URDF、SDF文件或文本导入模型的名称-值对。机器人
= importrobot (___,名称,值
)
Simscape多体模型导入
[
进口Simscape™多体™建模并返回一个等价的值机器人
,importInfo
= importrobot(模型
)rigidBodyTree
中导入的相关信息importInfo
.输出中只支持固定关节、移动关节和转动关节金宝apprigidBodyTree
对象。
[
属性外,使用一个或多个名称-值对参数指定选项Simscape多体从前面的语法中建立模型。使用Simscape多体模型导入使用名称-值对来导入使用其他联合类型、约束块或变量惯性的模型。机器人
,importInfo
= importrobot(___,名称,值
)
例子
从URDF文件导入机器人
导入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 0] DataFormat: 'struct'
显示(机器人)
ans =轴(主要)与属性:XLim: [-1.5000 1.5000] YLim: [-1.5000 1.5000] XScale: '线性' YScale: '线性' GridLineStyle: '-'位置:[0.1300 0.1100 0.7750 0.8150]单位:'归一化'显示所有属性
从URDF字符向量导入机器人
指定URDF字符向量。这个特征向量是创建一个有效的机器人模型的一个极简描述。
URDFtext =' < ?xml version = " 1.0 " ? > <机器人的名字=“min”> <链接name = " 10 " / > < /机器人>”;
导入机器人模型。描述创建了一个rigidBodyTree
对象,该对象只有一个名为“10”
.
robot = importrobot(URDFtext)
robot = rigidBodyTree with properties: NumBodies: 0 Bodies: {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”);
使用相关的可视化模型可视化机器人。单击主体或框架以检查它们。右键单击主体以切换每个可视几何图形的可见性。
表演(机器人,“视觉效果”,“上”,“碰撞”,“关闭”);
用相关的碰撞几何图形可视化机器人。单击主体或框架以检查它们。右击物体以切换每个碰撞几何的可见性。
表演(机器人,“视觉效果”,“关闭”,“碰撞”,“上”);
将Simscape™Multibody™模型导入RigidBodyTree
对象
将一个现有的Simscape™Multibody™机器人模型导入到Robotics System Toolbox™中rigidBodyTree
对象。
打开Simscape™Multibody™模型。这是人形机器人的模型。
open_system (“example_smhumanoidrobot.slx”)
导入模型。
[robot,importInfo] = importrobot(gcs)
robot = rigidBodyTree with properties: NumBodies: 21 Bodies: {1x21 cell} Base: [1x1 rigidBody] BodyNames: {1x21 cell} BaseName: 'Base' Gravity: [0 0 -9.8066] DataFormat: 'struct'
importInfo = rigidBodyTreeImportInfo with properties: SourceModelName: 'example_smhumanoidrobot' RigidBodyTree: [1x1 RigidBodyTree] blockconveroninfo: [1x1 struct]
显示已创建对象的详细信息rigidBodyTree
对象。
showdetails (importInfo)
-------------------- 机器人:(21)尸体Idx身体名字仿真软件源块联合仿真软件源金宝app块联合类型父母名字(Idx)孩子的名字(s ) --- --------- ---------------------- ---------- ---------------------- ---------- ---------------- ---------------- 1 Body01信息| | |突出Joint01信息列表|突出转动基地(0)Body02 (2) 2 Body02信息| | |突出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) 20 Body20 Info | List | Highlight Joint20 Info | List | Highlight fixed Body19(19) 21 Body21 Info | List | Highlight Joint21 Info | List | Highlight fixed Base(0) --------------------
输入参数
文件名
- - - - - -URDF或SDF文件的名称
字符串标量|特征向量
URDF或SDF文件的名称,指定为字符串标量或字符向量。该文件必须是有效的URDF机器人描述或SDF模型描述。
包括机器人模型与网格数据
机器人模型 | 网格可视化 | 描述 |
---|---|---|
“iiwa7.urdf” |
|
KUKA LBR iiwa 7 R800 7轴机器人 |
“iiwa14.urdf” |
|
URDF版库卡LBR iiwa 14 R820 7轴机器人 |
“iiwa14.sdf” |
|
SDF版库卡LBR iiwa 14 R820 7轴机器人 |
“sawyer.urdf” |
|
Rethink Robotics 7轴机器人Sawyer |
请注意
若要下载包含的机器人模型的网格数据而不包含网格数据,请参见安装机器人系统工具箱机器人库数据支持包金宝app.
包括没有网格数据的机器人模型
机器人模型 | 网格可视化 | 描述 |
---|---|---|
“abbIrb120.urdf” |
|
ABBIRB 120六轴机器人 |
“abbIrb120T.urdf” |
|
ABB IRB 120T六轴机器人 |
“abbIrb1600.urdf” |
|
ABBIRB 1600六轴机器人 |
“abbYuMi.urdf” |
|
ABB由美2-armed机器人 |
“amrPioneer3AT.urdf” |
|
先锋3-AT移动机器人 |
“amrPioneer3DX.urdf” |
|
先锋3-DX移动机器人 |
“amrPioneerLX.urdf” |
|
先锋LX移动机器人 |
“atlas.urdf” |
|
波士顿动力公司阿特拉斯®人形机器人 |
“clearpathHusky.urdf” |
|
Clearpath机器人沙哑的移动机器人 |
“clearpathJackal.urdf” |
|
Clearpath机器人豺移动机器人 |
“clearpathTurtleBot2.urdf” |
|
Clearpath机器人TurtleBot 2移动机器人 |
“fanucLRMate200ib.urdf” |
|
发那科LR Mate 200iB六轴机器人 |
“fanucM16ib.urdf” |
|
发那科M-16iB六轴机器人 |
“frankaEmikaPanda.urdf” |
|
Franka Emika Panda七轴机器人 |
“kinovaGen3.urdf” |
|
KINOVA®Gen3 7轴机器人1版 |
“kinovaGen3V12.urdf” |
|
KINOVA®Gen3 7轴机器人2版 |
“kinovaJacoJ2N6S200.urdf” |
|
KINOVA错话®带非球形手腕的2指6自由度机器人 |
“kinovaJacoJ2N6S300.urdf” |
|
KINOVA错话®三指六自由度非球形腕部机器人 |
“kinovaJacoJ2N7S300.urdf” |
|
KINOVA错话®3指7自由度非球形腕部机器人 |
“kinovaJacoJ2S6S300.urdf” |
|
KINOVA错话®三指六自由度球形腕部机器人 |
“kinovaJacoJ2S7S300.urdf” |
|
KINOVA错话®3指7自由度球形腕部机器人 |
“kinovaJacoTwoArmExample.urdf” |
|
两个KINOVA错话®带非球形手腕的3指6自由度机器人 |
“kinovaMicoM1N4S200.urdf” |
|
KINOVA MICO®二指四自由度机器人 |
“kinovaMicoM1N6S200.urdf” |
|
KINOVA MICO®二指六自由度机器人 |
“kinovaMicoM1N6S300.urdf” |
|
KINOVA MICO®三指六自由度机器人 |
“kinovaMovo.urdf” |
|
KINOVA MOVO®双臂移动机器人 |
“kukaIiwa7.urdf” |
|
KUKA LBR iiwa 7 R800 7轴机器人 |
“kukaIiwa14.urdf” |
|
KUKA LBR iiwa 14 R820 7轴机器人 |
“meca500r3.urdf” |
|
Meca500 R3六轴机器人 |
“quanserQArm.urdf” |
|
Quanser QArm四自由度机器人 |
“quanserQBot2e.urdf” |
|
Quanser QBot 2e移动机器人 |
“quanserQCar.urdf” |
|
Quanser QCar移动机器人 |
“rethinkBaxter.urdf” |
|
Baxter 2臂机器人 |
“rethinkSawyer.urdf” |
|
Rethink Robotics 7轴机器人Sawyer |
“robotiq2F85.urdf” |
|
Robotiq 2F-85双指夹持器 夹持器可与以下机械手一起使用:
|
“robotisOP2.urdf” |
|
ROBOTIS OP2人形机器人 |
“robotisOpenManipulator.urdf” |
|
ROBOTIS open机械手四轴机械手 |
“robotisTurtleBot3Burger.urdf” |
|
TurtleBot 3汉堡机器人 |
“robotisTurtleBot3Waffle.urdf” |
|
TurtleBot 3华夫饼机器人 |
“robotisTurtleBot3WaffleForOpenManipulator.urdf” |
|
ROBOTIS TurtleBot 3华夫饼机器人与open机械手 |
“robotisTurtleBot3WafflePi.urdf” |
|
TurtleBot 3华夫饼派机器人 |
“robotisTurtleBot3WafflePiForOpenManipulator.urdf” |
|
ROBOTIS TurtleBot 3华夫饼派机器人与open机械手 |
“universalUR3.urdf” |
|
万能机器人UR3六轴机器人 |
“universalUR3e.urdf” |
|
万能机器人UR3e六轴机器人 |
“universalUR5.urdf” |
|
万能机器人UR5六轴机器人 |
“universalUR5e.urdf” |
|
万能机器人UR5e六轴机器人 |
“universalUR10.urdf” |
|
万能机器人UR10六轴机器人 |
“universalUR10e.urdf” |
|
万能机器人UR10e六轴机器人 |
“universalUR16e.urdf” |
|
万能机器人UR16e六轴机器人 |
“valkyrie.urdf” |
|
美国宇航局女武神人形机器人 |
“willowgaragePR2.urdf” |
|
柳树车库PR2移动机器人 |
“yaskawaMotomanMH5.urdf” |
|
安川Motoman MH5六轴机器人 |
例子:“robot_file.urdf”
例子:“robot_file.sdf”
数据类型:字符
|字符串
URDFtext
- - - - - -URDF机器人文本
字符串标量|特征向量
URDF机器人文本,指定为字符串标量或字符向量。
例子:“< ?xml version = " 1.0 " ? > <机器人的名字=“min”> <链接name = " 10 " / > < /机器人>”
例子:“robot_file.txt”、“urdf”
数据类型:字符
|字符串
SDFtext
- - - - - -SDF模型文本
字符串标量|特征向量
SDF模型文本,指定为字符串标量或字符向量。
例子:“< ?xml version = " 1.0 " ? > <自卫队version = " 1.6 " > <模型名称=“min”> <链接name = " 10 " / > < /模型> < /自卫队>”
例子:“robot_file.txt”、“自卫队”
数据类型:字符
|字符串
格式
- - - - - -机器人描述文本文件的文件格式
“urdf”
|“自卫队”
机器人描述文本文件的文件格式,指定为字符串标量或字符向量。使用此参数显式地指定机器人描述文件所需的格式。
例子:“robot_file.txt”、“urdf”
例子:“robot_file.txt”、“自卫队”
数据类型:字符
|字符串
模型
- - - - - -Simscape多体模型
模型处理|字符串标量|特征向量
Simscape多体模型,指定为模型句柄、字符串标量或字符向量。
数据类型:字符
|字符串
名称-值参数
指定可选参数对为Name1 = Value1,…,以=家
,在那里的名字
参数名称和价值
对应的值。名称-值参数必须出现在其他参数之后,但对的顺序无关紧要。
在R2021a之前,使用逗号分隔每个名称和值,并将其括起来的名字
在报价。
例子:“MeshPath”{“. . / arm_meshes”、“. . / body_meshes”}
MeshPath
- - - - - -网格文件的相对搜索路径
字符串标量|特征向量|字符串标量或字符向量的单元格数组
网格文件的相对搜索路径,指定为字符串标量、字符向量或字符串标量或字符向量的单元格数组。网格文件仍然必须在URDF或SDF文件中指定,但是MeshPath
定义这些指定文件的相对路径。
数据类型:字符
|字符串
|细胞
DataFormat
- - - - - -运动学和动力学函数的输入/输出数据格式
“结构”
(默认)|“行”
|“列”
机器人模型的运动学和动力学函数的输入/输出数据格式,指定为由逗号分隔的对组成“DataFormat”
而且“结构”
,“行”
,或“列”
.要使用动态函数,必须指定其中任何一个“行”
或“列”
.此名称-值对设置DataFormat的属性rigidBodyTree
机器人模型。
数据类型:字符
|字符串
SDFModel
- - - - - -从包含多个模型的SDF中选择模型
字符串标量|特征向量
从包含多个模型的SDF文件或文本中选择一个模型,指定为字符串标量或字符向量。
请注意
此名称-值对仅应用于SDF模型和文本。
数据类型:字符
|字符串
MaxNumBodies
- - - - - -在代码生成过程中,进口机器人允许的最大体数
整数
导入机器人在代码生成过程中允许的最大体数,以整数指定。使用MaxNumBodies
将刚体添加到支持代码生成的函数中的导入树中。金宝app可以添加的附加体的数量就是MaxNumBodies
导入树中尸体的数量,rigidBodyTree。NumBodies
.
请注意
这个名称-值对仅在代码生成工作流中是必需的。
DataFormat
- - - - - -运动学和动力学函数的输入/输出数据格式
“结构”
(默认)|“行”
|“列”
机器人模型的运动学和动力学函数的输入/输出数据格式,指定为由逗号分隔的对组成“DataFormat”
而且“结构”
,“行”
,或“列”
.要使用动态函数,必须指定其中任何一个“行”
或“列”
.此名称-值对设置DataFormat的属性rigidBodyTree
机器人模型。
数据类型:字符
|字符串
输出参数
机器人
-机器人模型
rigidBodyTree
对象
机器人模型,返回为rigidBodyTree
对象。
请注意
如果URDF文件中没有指定重力,则默认重力
属性设置为[0 0 0]
.Simscape多体使用默认值[0 0 -9.80665]
米/秒2当使用smimport
导入URDF。
importInfo
—导入信息存储对象
rigidBodyTreeImportInfo
对象
对象,用于存储导入信息,返回为rigidBodyTreeImportInfo
对象。该对象包含输入之间的关系模型
结果是机器人
输出。
使用showdetails
控件中每个主体的所有导入信息机器人
.将显示刚体信息的链接、模型中相应的块以及突出显示模型中的特定块输出到命令窗口。
使用bodyInfo
,bodyInfoFromBlock
,或bodyInfoFromJoint
中特定组件的信息机器人
输出或模型
输入。
提示
在导入带有视觉网格的机器人模型时,需要使用importrobot
函数搜索.stl
或.dae
使用以下规则分配给每个刚体的文件:
该函数从URDF或SDF文件中搜索指定刚体的原始网格路径。对ROS包的引用具有
包:\ \ < pkg_name >
移除。绝对路径直接检查,不做任何修改。
使用以下目录按顺序检查相对路径:
用户指定的
MeshPath
当前文件夹
MATLAB®路径
包含URDF或SDF文件的文件夹
在包含URDF或SDF文件的文件夹的上面一层
URDF或SDF文件中的网格路径中的文件名被追加到
MeshPath
输入参数。
如果仍然没有找到网格文件,解析器将忽略网格文件并返回rigidBodyTree
没有视觉的对象。
版本历史
在R2017a中引入
MATLAB命令
你点击了一个对应于这个MATLAB命令的链接:
在MATLAB命令窗口中输入该命令来运行该命令。Web浏览器不支持MATLAB命令。金宝app
您也可以从以下列表中选择一个网站:
如何获得最佳的网站性能
选择中国站点(中文或英文)以获得最佳站点性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。