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轴机器人 |
“quanserQArm.urdf” |
Quanser QArm四自由度机器人 |
“quanserQBot2e.urdf” |
Quanser QBot 2e移动机器人 |
“quanserQCar.urdf” |
Quanser QCar移动机器人 |
“rethinkBaxter.urdf” |
Baxter 2臂机器人 |
“rethinkSawyer.urdf” |
Rethink Robotics 7轴机器人Sawyer |
“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
没有视觉的对象。
版本历史
Abrir比如
Tiene una versión modificada de este ejemplo。¿Desea abrir este ejemplo con sus modificaciones?
MATLAB突击队
Ha hecho clic en unenlace que对应一个este commando de MATLAB:
弹射突击队introduciéndolo en la ventana de commandos de MATLAB。Los navegadores web no permission comandos de MATLAB。
您也可以从以下列表中选择一个网站:
如何获得最佳的网站性能
选择中国站点(中文或英文)以获得最佳站点性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。