一种面向生产线仿真快速建模的复合模型库设计与实现

2022-06-23 08:39黄俊生
智能制造 2022年3期
关键词:模型库序列化静态

黄俊生

(泉州华中科技大学智能制造研究院,福建 泉州 362400)

1 引言

随着生产自动化应用普及,生产系统的复杂性也随之提高,同样系统的改进成本也成为工艺或产能优化过程中生产管理者必须谨慎考虑的地方。于是依靠仿真技术的虚实制造成为生产线优化决策的有效利器。虚拟制造是对真实制造系统的行为、结构和状态完整准确的描述,是真实系统在信息世界的等价系统。虚拟制造技术的核心是虚拟仿真建模。因此,如何基于现代生产的组合单位,根据其物理模型及其相互之间的行为交互关系,进行信息化建模,实现精确而快速地表达物理系统并模拟生产过程行为,是生产线仿真建模的关键任务。

生产线快速建模的方案多种多样。文献[3]提出一种基于面向任务的生产线快速建模仿真系统,基于QUEST软件实现三维数字化工厂或产线的快速构建。文件[4]建立了仿真模型库,包括几何模型库,运动学模型库和逻辑模型库,在QUEST软件中实现基于模型库的船舶分段生产线快速建模,探索了模型库在快速建模的关键作用。文献[5]提出一种基于TeamCenter和NX 的航天产品自顶向下协同设计方法,探索仿真模型统一管理及共享对快速建模应用的积极性。然而大部分对于产线快速建模及模型库建设是基于传统商业软件实现,从本质上说是一种既有软件产品的应用。

本文在研究生产线快速建模实现方式及其仿真模型库建设路径的基础上,提出一种多模型库复合设计方法。基于Unity3D开源三维开发平台,开发面向生产线快速建模的预设模型库、自定义模型库、共享模型库以及静态模型库4种模型库。系统功能实现证明,该模型库设计能够实现动态模型的快速建模、应用、存储和共享,对实现生产线仿真快速建模具有一定的实用性。

2 生产线快速建模复合仿真模型库设计及实现

2.1 复合模型库总体框架

复合模型库总体框架如图1所示。复合模型库类型分为静态模型库、预设模型库、自定义模型库和共享模型库4种类型。

图1 复合仿真模型库总体框架

1)静态模型库:该模型库基于Unity3D的AssetBundle资源技术实现。通用外部Unity3D编辑器进行资源处理,实现对模型、贴图、预制体、声音、甚至整个场景,统一打包为一个单独的文件压缩包,支持快速建模软件运行时按需加载。

2)预设模型库:该模型库基于Unity3D的预设体(prefab)技术实现。通用外部Unity3D编辑器进行动态模型预设计及编辑,实现对标准生产线单元模型(数控机床、机器人、AGV等)及通用模型(多轴模组、传送带、传感器等)的预制及保存。预设模型库与快速建模软件一同发布,是快速建模软件的一部分。

3)自定义模型库:该模型库通过对外部通用三维模型文件的源文件解析、格式转化、持久化等工作,实现从外部自定义三维模型转为快速建模软件模型库内部模型。同时基于Unity3D的脚本机制,结合本文设计的通用生产线仿真控制交互组件,实现自定义模型由静态到动态模型的转变。

4)共享模型库:该模型库是在自定义模型库的基础上,通过云端存储服务,实现动态模型的共享功能。基于共享模型功能可以实现生产线仿真的分工建模、快速归并调试的目的,从而达到生产线快速仿真建模的目的。

2.2 通用生产线仿真控制交互组件

生产线仿真模型中,最重要的便是包含物理运动、工艺行为等交互功能的动态模型。在本文提出的复合模型库设计中,动态模型是在静态模型的基础上通过集成通用生产线仿真控制交互组件实现。通用生产线仿真控制交互组件如图2所示。

图2 通用生产线仿真控制交互组件

本文设计的通用生产线仿真控制交互组件包括运动组件、交互组件、对象控制组件、触发器组件等8种仿真控制交互组件。

1)运动组件是定义常用的位移和旋转类运动控制的通用控制组件集合。基于组件属性及三维可视化编辑,可以实现常见的位移及旋转个性化设计功能。

2)碰撞体组件是定义三维仿真物体碰撞属性、碰撞体积的碰撞控制组件集合。基于组件属性及三维可视化编辑,可以实现碰撞体类型、碰撞体体积编辑功能。

3)对象控制组件是定义仿真对象支持的交互类型的通用控制组件集合。

4)触发器组件是定义通过碰撞检测、射线碰撞检测、交互碰撞检测的组件集合。通过三维空间位置编辑、发光体设置、碰撞体编辑等操作,模拟交互按钮、传感器等功能器件。

5)交互控制组件是定义通过碰撞检测与对象控制组件交互的组件集合。用于模拟虚拟加工过程中的气缸、托盘、夹具等执行部件。

6)传输控制组件是定义通过碰撞检测与可传送组件交互的组件集合。通过三维空间位置编辑、起点、终点编辑等操作,模拟各种传输面。

7)典型控制组件是实现机器人、模组、AGV定义的组件集合。三维静态物体通过绑定类型定义组件和关节定义组件,可以实现机器人、模组、AGV的自定义。

8)其他组件是其他一些功能较为独立的组件集合。

通用生产线仿真控制交互组件设计是实现动态模型快速建模的关键,也是统一仿真模型表达的基础。

2.3 统一仿真模型表达及持久化

模型库建设的核心是模型的统一表达及持久化。在本文提出的复合模型库设计中,不同模型库中的模型都使用统一的仿真模型表达方式。如图3所示,本文的统一仿真模型表达分为4个部分:基础信息、结构层次信息、几何信息和组件系统。

图3 统一仿真模型表达

1)基础信息:物体在三维空间的基础物理信息。包括名称、场景唯一标识、位置、角度、缩放尺寸和层次等。

2)结构层次信息:物体在三维空间的场景资源结构关系。包括上级父物体、下级子物体集合。

3)几何材质信息:几何材质信息指物体顶点、三角形、纹理坐标、法线和切线等几何信息和材质引用信息。

4)组件系统:三维物体绑定的体现不同维度仿真行为的组件集合。包括基础组件、物理模型组件、行为模型组件和规则模型组件等。

统一仿真模型表达可以有效完成对静态模型和动态模型的统一性描述。其中基础信息、结构层次信息和几何信息可以完成对静态模型的完整表达,动态模型便是静态模型结合不同维度的组件系统实现。在模型设计空间中,对模型各维度组件的添加、删除和属性修改便可以实现实时的模型编辑功能。

任何模型信息持久化过程都必须包括序列化和持久化的过程。序列化(Seriallization)是一种将对象以一连串的字节描述的过程,相应的反序列化(Deserialization)是一种将这些字节重建成一个对象的过程。本文的统一仿真模型表达是模型序列化和反序列化的基础。如图4所示,本文在对Unity3D基础对象构建序列化及反序列化基对象的基础上,对仿真模型的所有静态信息及组件信息构建相应的序列化反序列化执行对象。这样,从仿真模型解析得到的对象组件可以通过相应的执行对象进行序列化和反序列化。

图4 统一仿真模型序列化

持久化是一种将数据已结构化或非结构化的格式存储到数据库或者文件系统的过程。统一仿真模型表达及其序列化的最终目的是仿真模型的持久化。仿真模型的持久化不同于传统三维模型的持久化(保存为step、fbx、obj等文件),而是将静态几何信息、材质信息及仿真交互控制组件等都存储为可识别文件。如图5所示。仿真模型对象在Unity3D运行时是一个树状层次结构,表达仿真模型间的零部件组合关系。由上文的仿真模型序列化可知,仿真模型可以表达为组件对象列表,每个组件经过序列化和反序列化又可以转化为相应的资源对象,因此仿真模型也可以分解为数组结构的资源对象列表。最后根据不同的资源对象类型可以保存不同的操作系统二进制文件。其中基础信息、层次信息和组件信息保存为预设体文件(.rtprefab),几何信息保存为网格文件(.rtmesh),材质信息保存为材质文件(.rtmat),贴图纹理信息保存为可预览文件(.rtview)。

图5 统一仿真模型持久化

在这一小节中,通过对仿真模型进行统一表达、序列化和持久化技术路线研究,探索复合模型库设计中的模型统一结构化读取和保存的策略。模型的统一表达及持久化也是实现本文提出的复合模型库中模型共享的关键。

3 系统功能实现及验证分析

为了验证本文提出的复合模型库设计应用性,本文基于Unity3D引擎开发生产线快速建模软件,并实现了前文提出的4种仿真模型库。开发平台:Intel 八核 CPU I5-8300H,16G内存,GTX1050Ti显卡。编程工具:Unity3D 2020。

在4种仿真模型库的基础上进行生产线快速建模验证。针对教学试验生产线和工业现场生产线分别进行快速建模验证。

通过实际生产线快速建模应用证明,提出复合模型库设计在模型存取及模型快速应用方面的优越性。

4 结束语

猜你喜欢
模型库序列化静态
最新进展!中老铁路开始静态验收
如何建构序列化阅读教学
猜猜他是谁
Java 反序列化漏洞研究
基于模型库系统的金融体系流动性风险预警机制研究
作文训练微格化、序列化初探
具7μA静态电流的2A、70V SEPIC/升压型DC/DC转换器
基于模型库的现代成本会计计量系统研究
50t转炉静态控制模型开发及生产实践
GIS地形分析模型库管理系统的设计与实现