主要内容

计算机辅助翻译

CAD模型的翻译

您可以将CAD模型转换为等价的模型Simscape™多体™框图。转换依赖于smimport函数的主要参数是XML多体描述文件名。XML文件传递给Simscape多体软件将需要的数据重新创建原始模型——或者模型中存在不受支持的约束时的近似模型。万博1manbetx

翻译CAD模型需要两个步骤—导出和导入。导出步骤将CAD装配模型转换为XML多体描述文件和一组step或STL零件几何文件。导入步骤将多体描述和零件几何文件转换为SLXSimscape多体模型和M数据文件。模型从数据文件中获取所有块参数输入。

计算机辅助翻译步骤

翻译模型中有什么?

翻译后的模型表示CAD部件—在Simscape多体软件仿真软件万博1manbetx®子系统由多个固体和刚性变换块。实体块提供了物体的几何形状、惯量和颜色。的刚性变换积木为框架提供连接身体所需的姿势。

考虑CAD机械臂模型的上臂本体,如图所示。这个主体万博1manbetx的Simulink子系统由一个连接到一对刚性变换块的实心块组成。Solid块提供了上臂几何文件的参考和从CAD模型导出的惯性特性。刚性变换块提供了与机器人底座和下臂体连接的框架。

万博1manbetx子系统代表上臂身体

CAD关节,约束和配合转换成Simscape多体软件作为联合和约束块的组合。在CAD机械臂的例子中,上臂和下臂之间的约束转换为一个转动关节块。这个块位于Simulink子系统块之间,代表上臂和下臂身万博1manbetx体。

万博1manbetx子系统代表上臂身体

默认情况下,翻译后的模型保留了原始CAD模型的结构层次结构。如果源模型是带有多体组件的CAD模型,则组件转换为Simscape多体将软件转换为多体Simulink子系统。万博1manbetx再考虑一下CAD机械臂模型。该模型包含一个有七个车身的抓地力多体组件,如图所示。

CAD机械臂模型层次结构

在转换期间,抓地力组件转换为一个Simulink子系统与七个Simulink子系统,每个主体一个。万博1manbetx

多体万博1manbetx子系统与身体万博1manbetx子系统

数据文件中有什么?

用MATLAB对转换后的模型中的块进行参数化®在数据文件中定义的变量。这些变量存储在以不同块类型命名的结构数组中。结构数组嵌套在名为smiData或您指定的自定义字符串。

考虑一个导入的模型,其数据结构名为smiData.如果模型包含转动关节块,这些块的参数数据是结构数组smiData。RevoluteJoint.这个结构数组包含许多数据字段,每个字段对应一个不同的块参数。

结构数组字段以块参数命名。的位置状态目标数据转动关节块位于名为Rz_Position_Target.如果模型有两个转动关节块,这个字段包含两个项-smiData.RevoluteJoint (1) .Rz_Position_TargetsmiData.RevoluteJoint .Rz_Position_target (2)

每个结构数组索引对应于导入模型中的特定块。如果从更新的XML多体描述文件重新生成数据文件,则索引分配可能会更改。的smimport函数检查指定时的先前数据文件,以确保索引赋值保持不变。看到更新现有数据文件

导出CAD模型

从技术上讲,您可以从任何CAD应用程序导出CAD组装模型。的Simscape多体链接CAD插件提供了一种以有效的XML格式导出模型的方法。该插件兼容三个桌面CAD应用程序:SolidWorks®, PTC(列车自动控制系统)®Creo™,欧特克®发明家®.该插件不仅生成XML多体描述文件,还生成最终翻译模型中可视化所需的任何几何文件。

Simscape多体smexportonshape函数提供了从名为Onshape的云应用程序导出CAD模型的另一种方法®.此函数以与新函数兼容的格式导出Simscape多体块。看到Onshape进口有关从Onshape帐户导出(和导入)CAD模型的更多信息。

如果您使用一个不受支持的CAD应万博1manbetx用程序,您可以创建一个使用CAD API和Simscape多体XML模式来生成多体描述和部件几何文件。这项任务需要XML文档、XSD模式定义和CAD api的知识。看到模式的网站用于XSD模式定义。看到MATLAB中央,以获取基于SolidWorks CAD API的示例程序。

如果您的CAD应用程序存在URDF转换器,那么您可以以URDF格式导出模型,并将URDF文件导入Simscape多体环境。然而,请注意,URDF规范禁止闭链模型拓扑,如四杆机构和齿轮组件。有关更多信息,请参见URDF进口

导出错误说明

如果Simscape多体链接插件无法导出零件几何文件或翻译CAD约束集,软件将发出错误消息。错误信息识别出缺少几何文件和任何不支持的约束的尸体。万博1manbetx可以将生成的XML多体描述文件导入Simscape多体软件,但得到的模型可能不能准确地代表原始CAD装配模型。

导入CAD模型

属性导入XML多体描述文件Simscape多体smimport函数的默认导入模式。函数解析文件并生成Simscape多体模型和相关的数据文件。有关通过XML多体描述文件导入CAD装配模型的详细说明,请参见导入CAD装配模型

请注意

从软件版本R2017b开始Simscape多体链接插件导出的XML格式仅与Simscape多体第二代软件。必须使用。导入所有此类XML文件smimport函数。用这个函数生成的模型只包含第二代块——那些可以通过输入命令访问的块sm_lib在MATLAB命令提示符处。

Simscape多体第一代软件不再被支持万博1manbetxmech_import功能不能再使用。

CAD导入错误

如果零件几何文件无效或丢失,则相应的主体不能显示在Simscape多体可视化工具。如果一个CAD装配模型包含不受支持的车身之间的约束组合,万博1manbetxSimscape多体软件以刚性连接将物体连接起来。刚性连接可采用直接框架连接线的形式,刚性变换块,或焊缝块。

由于不受支持的约束而导致的刚性连接万博1manbetx

如果Simscape多体软件不能翻译CAD约束组合,它在MATLAB命令窗口发出警告信息,识别受影响的身体及其连接框架。例如:

警告:upperarm_1_RIGID和forearm_1_RIGID之间的约束集不能映射到关节。为了满足这些限制,在upperarm_1_RIGID的F端口和F1或forearm_1_RIGID端口之间增加了一个刚性连接。

简化模型的拓扑结构

您可以导入具有简化拓扑的CAD模型。这样你就可以做这个smimport函数提供了ModelSimplification论点。你可以将这个参数设置为:

  • bringJointsToTop将每一组刚性连接的部件分组到一个新的子系统中,并将所有的关节提升到模型层次结构的顶层。

  • groupRigidBodies将刚性连接的部件分组为子系统(并将关节保留在模型层次结构中的原始位置)。

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

使用bringJointsToTopgroupRigidBodies如果您的CAD模型有许多刚性连接的组件(如螺母和螺栓),您喜欢将这些组件组合在一起,例如,可以通过方框图更直观地掌握模型的关键组件。

使用bringJointsToTop如果您的CAD模型在组件中有关节,并且您喜欢在顶层暴露它们,例如,使用关节驱动和传感信号,而不必在不同的子系统中搜索关节,则可以选择。

注意,模型简化仅用于CAD导入。URDF模型具有扁平拓扑,几乎不需要进行简化。

更新现有数据文件

的方法可以重新生成以前导入的模型的数据文件smimport函数数据文件模式。您可以使用可选参数指定此模式ImportMode名称,值对参数。该函数使用前面的数据文件来保持结构数组索引和块之间的映射一致。

在重新生成数据文件之前,必须从更新的CAD组装模型导出新的XML多体描述文件。的smimport函数使用新的多体描述文件中的数据生成新的数据文件。

函数在运行时不会更新框图数据文件模式。如果在源CAD装配模型中添加或删除主体,则必须手动添加或删除之前导入的模型中的相应块。

计算机辅助设计更新