进口URDF模型
导入URDF模型到Simscape™多体™模型,使用smimport
函数。您必须指定文件扩展名。
smimport (“sm_humanoid.urdf”)
如果省略文件扩展名,则smimport
函数假定该文件是用于导入CAD模型的XML格式。例如,命令
smimport (“sm_humanoid”)
控件中创建多体模型的函数sm_humanoid
XML文件。如果该函数没有找到具有指定名称的XML文件,则即使在同一文件夹中存在同名的URDF文件,它也会返回一个错误。
金宝app支持的URDF元素和属性
的smimport
函数支持元素和属性金宝app的子集URDF规范.当您导入具有不受支持的元素或属性的URDF模型时金宝appsmimport
函数只识别支持的元素和属性。金宝app下面的示例以黑色显示所有受支持的元素和属性。金宝app
<机器人名称> <链接名称> <惯性> <起源Xyz rpy /> <质量价值/ > <惯性Ixx iyy izz ixy ixz iyz /> 惯性> <视觉名称> <起源Xyz rpy /> <几何> <盒子尺寸/ > <油缸半径长度/> <球半径/ > <网文件名规模/> 几何> <材料的名字> <颜色rgba / > <纹理文件名/> 材料> 视觉> <碰撞的名字> <起源xyz rpy/> <几何> <盒子大小/> <油缸半径长度/> <球半径/> <网文件名规模/> 几何> 碰撞> 链接> <联合名字类型> <起源Xyz rpy /> <父链接/ > <孩子链接/ > <轴xyz / > <校准不断上升的/> <校准下降/> <动力学阻尼摩擦/> <限制低上工作速度/> <模仿联合乘数抵消/> <safety_controllersoft_lower_limit……soft_upper_limit k_position k_velocity/> 联合> 机器人>
元素用粗体显示,属性用常规字体显示。不支金宝app持的元素和属性用红色突出显示。的smimport
如果元素或属性未在上述示例中显示,则金宝app函数不支持该元素或属性。请注意,规模
的属性视觉> <
/<几何学>
/<网>
元素以橙色显示,因为该属性得到了部分支持。金宝app有关的更多信息规模
属性,看到网格的几何图形部分。
映射到Simscape多体块
的URDF<机器人>
元素映射到Simscape多体模型。的<链接>
嵌套在<机器人>
元素映射到Simulink中金宝app®子系统块表示链接或inSimscape多体命名法,身体。的联合> <
元素映射成等价的Simscape多体联合块。的的名字
这些元素的属性分别映射到模型名称、子系统块名称和联合块名称中。
子系统块包括固体,惯性,刚性变换,参考系块。实体块提供主体的几何形状和颜色;这些方块对应于视觉> <
标记的URDF模型和命名视觉
.的惯性块提供了物体的质量、质心、转动惯量和转动惯量积;下载188bet金宝搏这个块对应于<惯性>
元素,并命名为惯性
.
的刚性变换块提供从身体的局部参考系到惯性和视觉元素的平移和旋转偏移量。这些变换是从< >起源
的元素<惯性>
而且视觉> <
元素的链接,以及从< >起源
而且< >轴
关节的元素。的参考系块标识主体的本地参考帧。
使用的节理块的类型取决于<类型>
的属性联合> <
元素。URDF和Simscape多体软件在很大程度上是直观的。一个联合> <
的元素类型
棱镜地图变成了移动关节块。一个联合> <
的元素类型
固定的地图到焊缝块。该表显示了剩余URDF的映射联合> <
元素。
网格的几何图形
要使用外部几何图形文件指定URDF模型的可视化几何图形,请使用<网>
元素,例如:
. Stl " scale="0.001 0.001"/> . /
几何文件不是URDF文件的一部分,您必须将几何文件保存在与相应URDF文件相同的文件夹中。几何文件必须是STL或STEP格式的。请注意,smimport
函数不支持Collada (DAE)金宝app文件。如果导入引用DAE文件的模型,Simscape多体模型不会呈现从这些文件派生的几何图形。缺乏可视化可能会限制您分析模型的能力,但对模型动态没有影响。
的值时,导入其可视化几何图形引用外部文件的URDF模型时,文件中的顶点数据保持未缩放状态规模
属性。的规模
属性指定转换中顶点数据的单位文件实
块。
指定单位厘米
,设置x,y,z的-轴比例因子规模
属性到0.01。指定单位为毫米
,将这三个因素都设为0.001。注意,所有三个因素必须具有相同的值,并且必须将值指定为0.01或0.001。如果值不满足这些条件,则smimport
函数指定单位为米。
物理单位
在转换后的Simscape多体模型中,块参数采用国际单位制SI。
URDF进口限制
的smimport
函数只导入具有树形拓扑的URDF模型,不支持SDF(模拟描述格式)和DrakeURDF等URDF变体。金宝app然而,在导入URDF之后,您可以向Simscape多体模型添加块,以形成运动学循环。
的smimport
函数不支持从URDF扩展派生的元素和金宝app属性,例如< >传播
,<露台>
,< model_state >
,传感器> <
元素。
与CAD导入的区别
尽管他们有相似之处,包括他们的相互依赖smimport
功能、CAD和URDF导入在一些重要方面有所不同:
CAD模型以中间XML格式导入。URDF模型以URDF格式直接导入。
的中间XML文件提供重新创建CAD模型所需的信息Simscape多体环境。在导入URDF模型时,在URDF文件中直接提供相同的信息。XML多体描述文件必须符合Simscape多体XML模式.看到导出CAD模型获取生成有效XML文件的方法。
导入的CAD模型在MATLAB中定义了其数值参数®文件。导入的URDF模型将其数值参数硬编码到块对话框中。
CAD导入使用一个分离的数据框架,该框架将所有块参数值放在一个单独的MATLAB数据文件中定义的单元格结构中。分离的数据框架使您能够在修改源CAD模型时更新以前导入的模型。URDF导入缺少此功能,不支持模型更新。金宝app
导入简单的URDF模型
作为示例,导入双摆URDF模型创建一个简单的URDF模型部分。如果在继续之前还没有创建URDF模型,则创建它。要导入模型,请导航到保存双摆URDF模型的文件夹。然后,在MATLAB命令提示符下,输入命令
smimport (“double_pendulum.urdf”)
关于导入模型
的<链接>
元素命名链接
,B链接
,C链接
在URDF模型映射到Simulink子系统块中也命名金宝app链接
,B链接
,C链接
.的联合> <
元素命名联合一
而且联合B
每盘与类型
设置为连续
映射到Simscape多体转动关节块也叫联合一
而且联合B
.
该框图反映了URDF模型的拓扑结构——一个无分支的运动学树。C链接
连接到B链接
作为该元素的子元素。B链接
依次连接到链接
作为该元素的子元素。链接
是根连接,因此是接地的条件反映在刚性连接之间链接
而且世界坐标系块。
URDF模型拓扑结构
子系统块表示URDF<链接>
每个元素都包含一个小的框图,其中包含一个参考框架模块砖固体块,一惯性块,和多个刚性变换块。的子系统方块没有被屏蔽,可以直接用双击打开。图中显示了该系统的框图链接
子系统块。
的砖固体块的翻译等价于视觉> <
URDF元素,命名为Visual。的相关参数视觉> <
元素,包括链接几何和颜色。的惯性块的翻译等价于<惯性>
URDF元素,因此命名为惯性。的相关参数<惯性>
单元,包括连杆质量、转动惯量和转动惯量积。下载188bet金宝搏
链接
子系统
的参考系块标识的本地参考帧<链接>
URDF元素。这个帧与到父链接的联合连接帧重合,或者(在本例中是根链接)到世界坐标系块。的刚性变换块指定到参考坐标系的平移和旋转变换<惯性>
,视觉> <
,联合> <
URDF元素。一个额外的刚性变换块指定对齐所需的旋转转换Simscape多体关节轴与URDF关节轴。
组装并模拟导入的模型
在模型上构建以获得有意义的模拟。例如,你可以使用关节状态目标将双摆装配成不稳定的结构,并模拟其在重力作用下的下落:
在joint_A块的对话框中,选择国家的目标>指定目标位置复选框,并设置价值参数
30.
deg.设置上节点的起始角度。在解算器在“配置参数”窗口中,单击附加选项并设置马克斯步长参数
0.01
.这个值保持求解器步长足够小,以在模拟过程中产生平滑的动画。如果模拟进展缓慢,则增加该值。更新框图并运行模拟。在建模选项卡上,单击更新模型.您可以通过选择来模拟模型运行.“力学探索者”展示了在重力作用下双摆下落的动画。