当前位置:首页 期刊杂志

碳纤维复合材料试验公共服务平台及可视化*

时间:2024-05-04

马常霞 胡大勇 张占强

(江苏海洋大学计算机工程学院 连云港 222005)

1 引言

碳纤维(Carbon Fiber)是新一代增强纤维,通过添加树脂、金属、陶瓷、混凝土等材料制成碳纤维复合材料,主要应用于航空航天、汽车、风电、压力容器、体育休闲等领域[1~2]。全球碳纤维的生产主要集中于日本、美国和欧洲企业,预计到2020年,全球碳纤维在工业领域的应用比例将达到72%。中国碳纤维产业起步较晚,但是中国市场对碳纤维的需求一直较为强劲,未来5年中国碳纤维需求量仍将保持15%以上的增长速度。而目前国内碳纤维生产企业总体技术水平较低、生产成本高,缺少面向全行业的碳纤维复合材料生产试制、检测、评价一体化公共服务平台[3]。这样的平台成本高,数量少难以满足国内碳纤维生产企业生产试制、检测、评价的需求。为了实现国内碳纤维生产企业,复合材料研发制造单位(企业、高校、科研院所)和复合材料终端用户等企业的对接,利用网络平台和虚拟现实技术探索碳纤维复合材料试验公共服务平台及场景交互可视化仿真,截至目前国内尚无这样的系统。

近几年来,由于计算机软硬件技术的不断提升,虚拟现实技术也取得成功发展,并日益应用到教育、医疗、建筑、航天、汽车、导航、军事等社会各个行业和领域。为实现国内碳纤维生产企业、复合材料研发制造单位(企业、高校、科研院所)和复合材料终端用户等企业的对接,根据当前碳纤维复合材料行业发展的特点,设计一个关于碳纤维复合材料试验公共服务平台及可视化仿真。通过系统设计复合材料,可以更直观,更合理,并利用该系统全面、准确记录各种材料、产品试验过程中的各种数据,掌握各种复合材料的试验特性,利用平台为整个复合材料行业提供咨询、预约服务,同时基于3DMax对碳纤维复合材料试验公共服务平台场景进行三维建模,然后基于Unity3D进行场景交互设计,重点开展VR场景动态融合表达,语音伴随介绍,使用第一人称视角的VR场景交互方法,对碳纤维复合材料加工方式展开试验虚拟仿真,可以形象的漫游碳纤维复合材料试验公共服务平台为碳纤维复合材料加工可视化分析提供重要的数据资源和技术支持,以解决碳纤维生产企业生产试制、检测、评价一体化问题。

2 系统分析设计

2.1 平台部分

平台部分的分析与设计采用SOA面向服务的技术架构,松耦合的设计模式,保证系统的灵活性、可扩展性和良好的维护性。基于B/S结构构建,JavaEE技术路线,支持跨平台应用,数据库采用Oracle。针对整个业务模式和IT环境,在充分考虑到系统扩展性的要求基础上,系统架构设计多层的体系结构模型。采用微服务开发业务功能的服务,每个服务都有自己的处理和轻量通讯机制,可以部署在单个或多个服务器上,每个服务能够独立被部署并运行在一个进程内。系统采用Spring Boot作为脚手架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。

本系统分为对外服务部分(以下简称外平台)和内部试验管理部分(以下简称内平台)。内平台主要由内部员工使用,实现不同权限用户登陆、设备管理、材料管理、试验管理、产品管理、系统管理等。外平台主要实现对外宣传展示,仿真虚拟漫游,并接收客户对服务的预约等,其主要功能包括产品展示,工艺展示,设备展示,咨询服务,服务预约,新闻资讯等模块,试验部分业务流图如图1所示,在数据库的范式规范下,考虑具体的应用,本系统的主要数据库的物理设计如表1所示。

图1 试验业务流图

表1 系统主要数据表

2.2 可视化仿真

碳纤维复合材料试验公共服务平台虚拟漫游以Unity3D作为开发平台,3DMax作为三维建模开发工具。由于3DMax能够较好地适用于三维模型的创建如具有参数化模型创建技术、模型的创建过程中可交互式3D浏览、可以模拟仿真施工进度、能渲染出照片级效果图等显著特性,所以本系统用它作为三维模型数据创建的基础平台。系统中需要对3D虚拟场景进行渲染、设计交互仿真功能,本文采用Unity3D渲染技术实现场景渲染和交互设计功能。Unity3D基于C#编程,是可视化开发3D的应用工具,拥有强大的开发者支持及第三方开发插件,所有平台都被兼容,为确保开发更为便捷使用蓝图可视化脚本系统以及对VR硬件设备的高度支持[4]。为增强虚拟现实体验,加入三维场景搭建,语音播报系统,机械动画模拟以及用户场景交互。虚拟部分结构如图2所示。

图2 虚拟部分结构图

3 关键技术与系统实现

3.1 Flex+BlazeDs实现数据呈现和数据通讯

本系统内部资源管理系统前端采用Flex作为视图框架,这些应用程序利用Adobe Flash Player和Adobe AIR,可以实现跨浏览器、桌面和操作系统。

我们针对在云环境下的碳纤维复合材料试验系统的特点,采用了Flex与HTML相结合的开发方法[5~6]。由于系统采用结构化文档管理模式,我们的文档都是以XML的形式进行存储和数据交换,使用Flex的E4X技术可以方便地读取和封装XML文档,并根据试验数据模版格式以HTML的方式展现给用户。通过精准的控制HTML节点的读写和布局实现了材料试验数据的富文本编辑,并可以进行方便的标注,和文本进行比对。

3.2 改进KNN分类算法分类试验数据

碳纤维复合材料试验平台是云环境下的试验大数据系统共享的核心。利用云计算技术对试验设备中相关数据进行分析和处理,是云计算服务推荐的基础[7~9]。由于试验设备产生的数据格式多样,因此我们需要应用文本分类技术来对试验数据进行智能化分类。文本分类算法有很多,如:K-近邻法(KNN),支持向量机(SVM),神经网络(NNet),简单贝叶斯,线性最小二乘法等,其中KNN算法是一种思想简单且性能稳定的分类算法,现已广泛应用于模式识别和数据挖掘的各个领域,但是KNN算法在处理文本分类的过程中需要不断地计算待测文本与样本的相似度,当文本数量更大时,算法的效率就会更差[10]。对KNN算法在实际应用中的限制较大,因此我们采用了改进策略的KNN分类算法。

3.3 三维场景搭建

VR仿真模型构建的关键过程如下:首先采集原始数据,然后创建三维模型;在3DMax中对模型减面或重构;创建UVW模型对材质赋予确保后续材质和光照系统的仿真运行;将处理好的模型导入Unity3D,三维模型的构建完成,其具体流程如图3所示。

图3 搭建流程图

3.3.1 Polygon建模

Polygon建模就是将对象转化为可编辑的多边形对象,多边形对象的面可以是三角形面、四边形面以及具有任何多个节点的多边形面,该可编辑多边形对象包含了节点Vertex、边界Edge、边界环Border、多边形面Polygon、元素Element五种子对象模式。建模过程就是通过编辑和修改该多边形对象的各种子对象来实现的。

3.3.2 搭建实现

首先对碳纤维复合材料加工工厂实际结构与生产过程进行实际考察,借助CAD图进行厂房结构制作,主要通过墙体间距确保结构尺寸正确性。构建建筑物模型的主体部分,采用多边形建模技术,该技术对于具有规则形物体的构造有优势。首先将建筑物合理分离,获得单个建筑物底图,根据建筑物的实际尺寸进行挤出操作,建筑物的主体建模完成之后,对厂房外观进行制作。制作前可先将外观分为主体墙面,窗框,窗体等多个元素,再采用多边形建模技术逐个完成各部分制作。为了使建好的模型从观感上更加贴近实际的建筑物,待三维模型建立后,还要进行材质赋予。

厂房内的生产车间及机械设备众多分别进行建模。其中,生产车间模型结构如图4(a)所示。由于制作的为工业设备,线路结构都比较复杂,可对该部分进行适当简化,完成主体制作。最后对制作的所有模型进行合成汇总,使用3D捕捉工具,将模型三维坐标进行实时记录,并完成与另一个模型的边,面元素对齐操作,形成最终场景模型,如图4(b)所示。

图4 搭建结构图

3.4 机械动画与语音播报

3DMax建模完成后模型导入到Unity中,模拟设备的外形、材质、零部件和内部构造,把设备的使用方式、原理、性能特征、工作过程等一系列真实的事物以动态视频的形式演示出来。使用Animator窗口来制作机械动画,按照这个原理依次完成车间动画如图5所示。

(a)生产车间模型结构图

图5 机械动画制作图

语音系统通过Unity Audio Source组件用来播放场景中的Audio Clip,它是导入到Unity中的声音文件。此外,Audio Source还可以设置一些播放声音的效果,增强场景中的声音效果。本文为了增强语音播报的灵活性,同时使用了文字转语音的播报。

3.5 碰撞检测

在计算机动画、计算机图形学和虚拟现实等领域,碰撞检测问题都有着重要的意义。在虚拟现实系统中,为了防止漫游过程中穿入建筑物模型、设备等问题,经常采用碰撞检测技术从而保证仿真场景的真实性以及交互的自然性。碰撞检测算法常常分为两类基于空间的碰撞检测算法和基于时间的碰撞检测算[11~14]。

本系统采用的是层次包围盒技术和射线检测技术,它们属于基于空间碰撞检测算法。另外部分采用了半透明颜色叠加与深度值的碰撞检测算法[15~17]。

3.5.1 包围盒技术

包围盒技术是一种求解离散点集最优包围空间的算法,是基于图形的碰撞检测算法。其基本思想是用特定的体积稍大且特性简单的几何体(称为包围盒)来描述复杂的几何对象,故只需要对相对较容易做相交判断的特定体积进行相交测试。在计算机图形学与计算几何领域,一组物体的包围盒就是将场景中的复杂集合形体围住即完全包容起来的一个封闭空间。用简单的包围盒形状来近似代替复杂几何体,从而用简单的包围盒封装复杂集合体,以提高碰撞监测运算的效率。在碰撞检测中,两物体是否碰撞,先判断包围盒是否相交,不相交说明不发生碰撞,如果包围盒相交,就要对包围盒所包围的两物体做几何对象间精确的碰撞检测。

包围盒算法通常有包围球(Sphere)、轴向包围盒AABB(Axis-Aligned Bounding Box)、方向包围盒OBB(Oriented Bounding Box)、固定方向包围盒k-DOPs(Discrete Orientation Polytope)。AABB包围盒是一个边平行于坐标轴的最小六面体且包含该对象,得到某一对象的AABB包围盒需要先确定六个标量,就是需要找出内包围对象的所有顶点中最大和最小的x、y、z坐标,两个AABB包围盒的碰撞检测就是判断它们在x、y、z坐标轴上的投影区间是否有重叠[16~17]。OBB包围盒的相交测试利用分轴定理,即选定两个OBB包围盒的分离轴。一般情况下会确定15条分离轴,当有一条分离轴检测到投影不重叠即判定两包围盒不相交。构造k-DOPs包围盒比构造AABB包围盒和OBB包围盒困难,但是k-DOPs包围盒碰撞检测的精确度要高于AABB包围盒和OBB包围盒。

本文场景中,为给第一视角创建合理的视觉效果,给移动行为创造正常的移动效果,避免穿模与透视,机械零部件、地板模块、窗体模块等部分可视化模型采用包围盒技术。

3.5.2 射线碰撞检测算法

射线是在三维世界中从一个点沿一个方向发射的一条无限长的线,在三维空间中,射线碰撞检测算法就是检测射线与平面是否有交点,如果有求解该交点的问题。在三维空间中,射线的表示相应的可写为如下射线方程:

式(1)中采用两个矢量定义,一个表示其起点β,另一个表示其方向α,β0是射线上的起点,τ∈[ 0 ,∞)。三维空间中平面的定义借助该平面的法量N和该平面上一点β1,可以写出任意一个平面方程为

式(2)中N是平面法量,β1是平面上一点,从坐标系原点到该平面的距离表示为d。如果式(1)中的射线与式(2)中的平面相交,假设相交点为β',那么,β'就要同时满足方程(1)和(2),求解方程组得到:

将式(3)带入射线方程即可得碰撞点。

在本系统中,射线碰撞检测主要应用于鼠标的点击操作,由于鼠标在点击播放语音介绍按钮时,是在三维立体环境下完成,二维平面的鼠标点击方法无法精确定位到目标,所以需要在鼠标点击的同时刻,由鼠标原点向鼠标指向方向发射一条射线,当射线碰撞到搭载有射线碰撞检测算法的模型时,返回真值并进行语音播放,如图6所示。

图6 射线检测

3.6 用户场景交互

用户角色控制:用Unity3D自带的扩展资源(FPS游戏第一人称扩展资源)进行开发,使用键盘WASD进行移动控制,鼠标控制视角旋转,空格键控制跳跃。同时将3ds max中制作的最终模型形成FBX模型导出后直接导入Unity,将模型三维坐标初始化,大小尺寸进行调整,在厂房内部添加适当的点束光源,对3D物体设置Collider属性,实现虚拟物体可碰撞。

开关门的实现:需要利用到触碰体Trigger和查找场景中物体,如图7(a)、(b)所示。在靠近门时按F实现开关门,最终效果如图7(c)所示。

图7 开关门实现

语音播报控制:当用户点击播放按钮时,可由鼠标向目标地点发射一条射线,如果目的地点检测到有相应的按钮物体,则加载Audio Source中的音频文件实现语音介绍如图8所示。

图8 语音控制(绿色框起来的红色按钮)

4 结语

平台建立面向全行业的碳纤维复合材料生产试制、检测、评价一体化公共服务平台。实现国内碳纤维生产企业、复合材料制造单位(企业、高校、科研院所)和复合材料终端用户等企业的对接,产品的性能满足下游用户需求,在轨道交通、汽车、电缆、风电叶片、航空航天领域完成碳纤维复合材料的应用及推广。

本文实现了三维虚拟漫游与实际生产加工的合理结合,针对我国当前对碳纤维复合材料的巨大需求以及经验技术欠缺提供了良好的技术支持,提出了第一人称虚拟漫游的研究方法,在一定程度上缓解了部分企业技术欠佳的窘境,同时为行业生产提供了研究方向,能够减少企业资金的不必要浪费,实现行业间的紧密联系与相互促进。

免责声明

我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!