ImportRobot.

从URDF文件、文本或simscape.多体模型

描述

例子

机器人= importrobot (文件名返回一个刚性小组细胞对象的URDF (Unified Robot Description Format)文件文件名

例子

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

机器人importInfo) = importrobot (模型进口A.Simscape™MultiBody™模型并返回等价​​物刚性小组细胞关于导入的对象和信息importInfo.在输出中只支持固定关节、移动关节和转动关节万博1manbetx刚性小组细胞对象。使用Simscape多体模型导入名称-值对用于导入使用其他关节类型、约束块或可变惯性的模型。

___= importrobot (___,名称,价值)提供由此指定的其他选项名称,值对参数。使用前面的任何语法。只应用某些名称-值对,这取决于您是从URDF文件还是Simscape多体模型。

例子

全部折叠

将URDF文件导入为刚性小组细胞对象。

机器人= 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'
显示(机器人)

ans = Axes (Primary) with properties: XLim: [-1.5000 1.5000] YLim: [-1.5000 1.5000] XScale: 'linear' YScale: 'linear' GridLineStyle: '-' Position: [0.1300 0.1100 0.7750 0.8150] Units: 'normalized'显示所有属性

指定URDF字符向量。这个角色向量是创建一个有效机器人模型的最简描述。

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

导入机器人模型。描述创建一个rigidBodyTree对象,该对象只有名为的机器人基链接'l0'

机器人= importrobot (URDFtext)
robot =刚性小组特性的特性:numbodies:0体:{1x0小区}基座:[1x1刚体]主体:{1x0小区} baseName:'l0'重力:[0 0] dataformat:'struct'

您可以导入具有的机器人.stl与统一机器人描述格式(URDF)文件相关联的文件以描述机器人的视觉几何。每个刚体都有一个指定的各个视觉几何形状。的ImportRobot.函数解析URDF文件以获得机器人模型和可视化几何图形。使用显示函数将机器人模型可视化。然后,您可以通过单击组件来检查它们,并右键单击以切换可见性来与模型进行交互。

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

机器人= importrobot ('IIWA14.URDF');

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

展示(机器人);

将现有的Simscape™多体™机器人模型导入到Robotics System Toolbox™中刚性小组细胞对象。

打开Simscape™MultiBody™模型。这是人形机器人的模型。

Open_System(“example_smhumanoidrobot.slx”

导入模型。

[机器人,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 = rigidbodeTreeImportInfo具有属性:Sourcemodelname:'example_smhumanoidrobot'刚性小组编号:[1x1刚性小组特] BlockConversionInfo:[1x1 struct]

显示有关创建的详细信息刚性小组细胞对象。

showdetails (importInfo)
-------------------- 机器人:(21)尸体Idx身体名字仿真软件源块联合仿真软件源万博1manbetx块联合类型父母名字(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文件的名称,指定为字符串标量或字符向量。此文件必须是有效的URDF机器人描述。

例子:“robot_file.urdf”

数据类型:char|字符串

URDF机器人文本,指定为字符串标量或字符向量。

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

数据类型:char|字符串

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

数据类型:|char|字符串

名称-值对的观点

指定可选的逗号分隔的对名称,值论点。的名字参数名和价值是相应的价值。的名字必须出现在引号内。可以以任意顺序指定多个名称和值对参数name1,value1,...,namen,valuen

例子:“meshpath”,{“../ arm_meshes”,“../ body_meshes”}

URDF文件导入

全部折叠

网状文件的相对搜索路径,指定为字符串标量,字符向量或字符串标量或字符向量的单元数组。网状文件仍必须在URDF文件中指定,但MeshPath定义这些指定文件的相对路径。当使用这个函数时,URDF导入器使用所有指定的相对路径搜索URDF中指定的网格文件。

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

simscape.多体模型导入

全部折叠

指示是否打破给定的闭链模型输入,指定为“错误”要么“删除关节”.如果您指定“删除关节”,由此产生的机器人输出已移除链封接头。否则,函数抛出一个错误。

数据类型:char|字符串

指示是否将给定的不受支持的关节转换为固定关节万博1manbetx模型输入,指定为“错误”要么“convert-to-fixed”.如果您指定“convert-to-fixed”,由此产生的机器人输出将任何无支撑的关节转换为固定关万博1manbetx节。在输出中只支持固定关节、移动关节和转动关节万博1manbetx刚性小组细胞对象。否则,如果模型如果函数包含不支持的关万博1manbetx节,则抛出错误。

数据类型:char|字符串

指示是否删除给定的约束块模型输入,指定为“错误”要么“删除”.如果您指定“删除”,由此产生的机器人输出删除了约束。否则,如果模型包含约束块时,函数抛出错误。

数据类型:char|字符串

指示是否删除给定的可变惯性块模型输入,指定为“错误”要么“删除”.如果您指定“删除”,由此产生的机器人输出使变量惯性删除。否则,如果模型包含可变惯性块,函数抛出错误。

数据类型:char|字符串

输出参数

全部折叠

机器人模型,返回为刚性小组细胞对象。

请注意

如果在URDF文件中未指定重力,则默认情况下重力属性设置为[0 0 0]Simscape多体使用默认的[0 0 -9.80665]米/秒2使用时小运动导入URDF。

对象,用于存储导入信息rigidBodyTreeImportInfo对象。此对象包含输入之间的关系模型和结果机器人输出。

使用showdetails列表中每个主体的所有导入信息机器人.显示刚体信息的链接,它们在模型中对应的块,以及模型中突出显示的特定块都被输出到命令窗口。

使用bodyInfoBodyinfofromblock.,或Bodyinfofromjoint.获取有关特定组件的信息机器人输出或模型输入。

提示

使用可视网格导入机器人模型时,ImportRobot.功能搜索.stl文件分配给每个刚体使用以下规则:

  • 该函数从URDF文件中搜索指定刚体的原始网格路径。对ROS包的引用包:\ \ < pkg_name >移除。

  • 直接检查绝对路径,不做任何修改。

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

    • 用户指定的MeshPath

    • 当前文件夹

    • MATLAB®路径

    • 包含URDF文件的文件夹

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

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

如果仍然没有找到网格文件,解析器将忽略网格文件并返回刚性小组细胞没有视觉对象。

介绍了R2017a