主要内容

smimport

导入CAD、URDF或机器人系统工具箱模型

    描述

    例子

    HdataFileName= smimport(modelSource从CAD、URDF或机器人系统工具箱模型创建Simscape多体模型。

    modelSource要导入的文件或对象的名称。CAD模型使用XML文件,URDF模型使用URDF文件rigidBodyTree(机器人系统工具箱)机器人系统工具箱™模型的对象。XML文件必须符合Simscape多体XML模式, URDF文件必须符合金宝app支持URDF元素和属性.创建需要机器人系统工具箱许可证rigidBodyTree对象。

    H模型是句柄,和dataFileName是支持文件的名称,在导入的CAD模型中金宝app,该文件将块参数的数值存储在一个由块中引用的MATLAB变量填充的结构数组中。数据文件提供了一种机制,在CAD模型发生更改时更新导入的模型。从URDF文件导入的模型或rigidBodyTree对象的块参数不依赖于数据文件。

    XML文件可以来自不同的来源。例如,smexportonshape函数将CAD模型转换为XML文件。的Simscape™多体™链接插件是能够转换Autodesk Inventor®, PTC(列车自动控制系统)®,以及SolidWorks®CAD模型转换成XML文件。对于其他CAD应用程序和多体建模工具,Simscape多体XML模式使创建自定义模型导出应用程序成为可能。

    CAD, URDF,和rigidBodyTree模型都共享相同的组件。这些是(i)刚体,也称为CAD模型中的零件和URDF模型中的连杆,以及(ii)运动学约束,在某些情况下,包装为关节。刚体导入为Simulink金宝app®固体和的子系统刚性变换块。约束映射到关节、齿轮和其他约束块。

    URDF模型包含<链接>元素,这些元素又包含联合> <元素。同样的,rigidBodyTree对象包含rigidBody对象和rigidBodyJoint对象。在创造中Simscape多体模型中,关节成为刚体的兄弟姐妹,它们不在刚体子系统内,而是在刚体子系统旁边。在适当的关节块中,关节限制和home位置持续存在,后者作为位置状态目标。

    请注意

    从URDF和导入联合限制rigidBodyTree而不是来自CAD模型。如果必须,可以手动重现CAD模型的关节限制,方法是在关节块中启用关节限制,并将限制位置设置为适当的值。

    例子

    ___= smimport (___、名称、值)创建一个Simscape多体具有自定义名称的CAD、URDF或机器人系统工具箱模型中的模型,或重新生成先前导入的CAD模型的数据文件。大多数名值对参数仅应用于CAD模型。使用ImportMode重新生成参数数据文件和PriorDataFile捕捉对模型的无意更改,例如删除部分或更改其名称。

    例子

    全部折叠

    导入机械臂的CAD模型。模型已使用Simscape Multibody Link以XML格式导出。XML文件被命名sm_robot.xml,它是Simscape多体安装的一部分。

    导入模型并将其存储在内存中无标题的.您可以稍后更改名称。由于模型是XML格式的,因此可以在其名称中省略扩展名。

    smimport (“sm_robot”);

    更新图表以组装模型,并在Mechanics Explorer中可视化它。在建模选项卡上,单击更新模型

    CAD模型通常假设y-轴为纵轴而Simscape多体模型假设z设在。因此,导入的模型在屏幕上显示机器人的底部视图。要更改视图约定,请使用视图公约下拉列表。

    在“力学资源管理器”工具条中,设置视图公约参数Y向上(XY前)并选择一个标准的视点,如等角,如下图。

    导入机械臂CAD模型,并保存在名称为的活动文件夹中robotto.命名参数数据文件robottos_data_file

    smimport (“sm_robot”“ModelName”“robotto”...“DataFileName”“robottos_data_file”);

    为导入的机械臂CAD模型重新生成数据文件。为避免覆盖原有数据文件,请为新文件命名robottos_new_data_file

    smimport (“sm_robot”“ImportMode”“数据文件”“DataFileName”...“robottos_new_data_file”“PriorDataFile”“robottos_data_file”);

    将导入的模型指向新的数据文件,并重新初始化模型工作区。

    HWS = get_param(broot,“modelworkspace”);探测。数据源=“MATLAB文件”;探测。文件名=“robottos_new_data_file”;hws.reload

    要使用Model Explorer完成同样的操作,首先,选择建模>设计>模型的工作空间以打开模型资源管理器。接下来,在模型资源管理器的模型层次结构中,左键单击模型的工作空间.在模型的工作空间面板中,输入robottos_new_data_file.m文件名称参数,单击从源重新初始化按钮以应用更改。

    导入一个人形机器人的URDF模型。模型被命名为sm_humanoid.urdf,它是Simscape多体安装的一部分。

    导入模型并将其存储在内存中无标题的.您可以稍后更改名称。由于模型是URDF格式,因此需要文件扩展名。

    smimport (“sm_humanoid.urdf”);

    使用Mechanics Explorer更新图表以可视化初始配置中的模型。在建模选项卡上,单击更新模型

    模拟模型。这种人形机器人缺乏控制系统,在重力的作用下会不规律地摆动。肩线在URDF模型中充当根体,因此导入后固定在世界框架上。

    你可以修改模型并对机器人的运动进行编程。的仿人机器人这是一个简单的例子。您可以通过输入打开示例sm_import_humanoid_urdf在MATLAB中®命令提示符。

    导入一个rigidBodyTree对象用于LBR iiwa串行操作器。该模型是Robotics System Toolbox安装的一部分,是一个名为iiwa14.urdf

    将URDF模型转换为ribidBodyTree对象。

    iiwaRBT = importrobot(“iiwa14.urdf”);

    请注意

    需要机器人系统工具箱许可证才能运行importrobot(机器人系统工具箱)

    导入iiwaRBT对象转换为Simscape Multibody。

    iiwaSM = smimport(iiwaRBT);

    使用Mechanics Explorer更新图表以可视化初始配置中的模型。在建模选项卡上,单击更新模型

    输入参数

    全部折叠

    导入文件或对象的名称,指定为字符串标量或字符向量。CAD模型使用XML文件,URDF模型使用URDF文件rigidBodyTree机器人系统工具箱模型的对象。如果缺少文件扩展名,则假定模型是XML格式的。如果文件路径缺失,则假定该文件位于MATLAB路径上。

    例子:“robotto.xml”

    数据类型:字符|字符串

    名称-值参数

    指定可选参数对为Name1 = Value1,…,以=家,在那里的名字参数名称和价值对应的值。名称-值参数必须出现在其他参数之后,但对的顺序无关紧要。

    在R2021a之前,使用逗号分隔每个名称和值,并将其括起来的名字在报价。

    例子:smimport(‘sm_robot’,‘ModelName’,‘robotto’,‘DataFileName’,‘robottos_data_file’);

    CAD导入时使用的模型拓扑简化模式。集ModelSimplification:

    • bringJointsToTop将严格连接的部件分组到子系统中,并将节点提升到模型层次结构的顶层。

    • groupRigidBodies将严格连接的部分分组到子系统中,但将节点保留在模型层次结构中的原始位置。

    • 没有一个按原样导入模型,不进行简化。

    被带到模型顶层的关节使用基于关节类型的通用名称重命名,例如,Revolute_Joint1.组合在一起的刚性连接组件的子系统根据字符串给出通用名称RigidSubsystem——例如,RigidSubsystem1.此参数仅适用于CAD导入。

    例子:“ModelSimplification”、“bringJointsToTop”

    数据类型:字符|字符串

    选项,生成新模型或更新现有模型数据。集ImportModemodelAndDataFile生成一个新的模型和数据文件。集ImportMode数据文件为先前导入的模型生成一个新的数据文件。该函数不更新框图本身。如果您没有指定ImportMode时,函数插入modelAndDataFile模式。此参数仅适用于CAD导入。

    例子:“ImportMode”、“功能”

    数据类型:字符|字符串

    项目名称Simscape多体模型,指定为逗号分隔的对,由“ModelName”和字符向量或字符串标量。模型以SLX格式保存。当。这个论点是无效的ImportMode设置为数据文件.如果您没有指定ModelName时,模型文件以多体描述文件命名。如果多体描述文件名与MATLAB命名规则不一致,则使用稍微修改的版本。

    例子:“ModelName”、“robotto”

    数据类型:字符|字符串

    支持参数数据文件的名称,金宝app指定为逗号分隔的对,由“DataFileName”和字符向量或字符串标量。数据文件为M文件,导入文件中引用了块参数值Simscape多体模型。如果您没有指定DataFileName时,数据文件以多体描述文件命名。如果多体描述文件名与MATLAB命名规则不一致,则使用修改后的版本。此参数仅适用于CAD导入。

    例子:“DataFileName”、“robottos_new_data”

    数据类型:字符|字符串

    最后一个参数数据文件的名称,指定为逗号分隔的对,由“PriorDataFile”和字符向量或字符串标量。先前的数据文件有助于识别需要特别注意的更改,例如新的物理单元、添加和删除的组件以及模型拓扑更改。此论点仅当ImportMode设置为数据文件.此参数仅适用于CAD导入。

    例子:“PriorDataFile”、“robottos_original_data”

    数据类型:字符|字符串

    参数数据文件中提供的MATLAB数据结构的名称,指定为由逗号分隔的对组成“VariableName”和字符向量或字符串标量。对象中所有块参数的数值Simscape多体模型。如果两者都不指定PriorDataFile也不VariableName时,数据结构被命名smiData.如果你指定PriorDataFile但不是VariableName时,数据结构名从前面的数据文件派生。此参数仅适用于CAD导入。

    例子:“VariableName”、“robottosData”

    数据类型:字符|字符串

    输出参数

    全部折叠

    Simscape多体Model,作为模型句柄返回。使用模型句柄获取或设置模型参数,例如,使用get_param而且set_param功能。

    数据类型:

    参数数据文件的名称,作为字符向量返回。该文件是一个M文件,在导入文件中引用了块参数值Simscape多体模型。此输出仅适用于CAD导入。

    数据类型:字符

    版本历史

    在R2012b中引入

    另请参阅

    |(机器人系统工具箱)