一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种城市火灾泡沫消防车虚拟训练系统的构建方法与流程

2021-11-05 21:17:00 来源:中国专利 TAG:


1.本发明属于消防车虚拟训练领域,具体涉及一种城市火灾泡沫消防车虚拟训练系统的构建方法。


背景技术:

2.随着社会经济以及科学技术的快速发展,火灾的频发已成为一个令人担忧的问题。城市规模的扩大化以及高层建筑的复杂化增加了火灾救援的难度。消防车作为城市火灾救援的重要组成部分,在扑灭火灾中起到了至关重要的作用,是灭火的核心装备。当发生火灾时,消防车是能在第一时间到达的大型灭火工具,其所携带的灭火剂可以快速高效的扑灭火灾,它作为主要的救援工具对消防员对它的操作提出更加精准的要求,因此消防车作为主要成员参与消防员的日常训练。
3.传统的消防车训练存在需要出动一定的人力和物力、训练成本高、产生污染、训练过程数据记录不完整导致无法为后续工作提供支撑等缺点,而数字化消防车虚拟训练系统无需出动车辆和耗费大量的水及灭火泡沫,投资小,可重复性高,且训练的安全性高,对社会正常的生产生活影响性小,无需设立专门的演习区,不会产生污染。因此,构建数字化消防车虚拟训练系统具有重要的现实意义和广泛的应用前景。


技术实现要素:

4.本发明的目的是克服现有技术中存在的上述问题,提供一种基于unity3d的城市火灾泡沫消防车虚拟训练系统的构建方法。
5.为实现以上目的,本发明提供了以下技术方案:一种城市火灾泡沫消防车虚拟训练系统的构建方法,依次包括以下步骤:步骤一、构建泡沫消防车的三维模型;步骤二、将泡沫消防车的三维模型以及灭火场景导入unity3d中建立训练场景;步骤三、基于建立的训练场景进行泡沫消防车的动作以及灭火训练,以得到城市火灾泡沫消防车虚拟训练系统。
6.步骤三中,所述灭火训练包括城市楼房场景火焰的模拟,其实现方式为:先采用pyrosim软件模拟楼房中某层发生火灾时的仿真数据,然后通过unity的particle system系统纹理映射为粒子系统的初始参数。
7.步骤二中,所述灭火训练还包括泡沫和水的产生、水粒子和火焰粒子的碰撞,所述泡沫和水的产生、水粒子和火焰粒子的碰撞均通过unity的particle system系统实现。
8.所述水粒子和火焰粒子的碰撞采用包围盒检测法,将火焰设置为球形包围盒,将水柱设为长方体包围盒,利用unity中的on particle collision函数检测粒子的碰撞,检测到碰撞后逐渐减少火焰粒子的数量直至灭火结束。
9.所述泡沫和水的产生通过设定粒子系统中粒子的生命、速度、大小和发射方向属性以及合理的贴图实现。
10.所述泡沫消防车的动作包括消防车的位置调整、箱门的开关和消防炮方向的调整,采用c#脚本完成。
11.所述方法还包括消防车三维模型的轻量化处理步骤,该步骤位于步骤一之后、步骤二之前;所述消防车三维模型的轻量化处理为:利用3ds max分离出消防车的三维模型中需要渲染的零件后添加材质进行渲染,并删除不需要展示和对动作无用的零件,对保留的大零部件采用三角形折叠算法进行轻量化,减少模型三角面个数的同时保留较好面的特征,得到处理后的泡沫消防车三维模型。
12.所述三角形折叠算法通过maxscript调用python脚本遍历消防车网格模型的顶点和三角面进行折叠和加入约束实现。
13.所述虚拟训练系统包括在线模式和离线模式,在线模式下,系统基于实时获取的线下消防车的训练数据驱动泡沫消防车动作,并保存线下消防车的训练数据。
14.步骤二中,所述建立训练场景是指:先建立街道和马路的基本场景,并将消防车和楼房场景置于街道的合适位置,再将消防车模型和灭火场景添加到基本场景中形成训练场景。
15.与现有技术相比,本发明的有益效果为:1、本发明一种城市火灾泡沫消防车虚拟训练系统的构建方法先构建泡沫消防车的三维模型,再将泡沫消防车的三维模型以及灭火场景导入unity3d中建立训练场景,然后基于建立的训练场景进行泡沫消防车的动作以及灭火训练即可,该方法通过unity3d与泡沫消防车训练系统的有机融合,实现了泡沫消防车的相关运动动作和城市火灾场景灭火过程的模拟,解决了泡沫消防车存在的训练成本高、数据记录不完整和场景单一等问题,对完善消防车训练系统具有一定意义。因此,本发明实现了泡沫消防车的相关运动动作和城市火灾场景灭火过程的模拟。
16.2、本发明一种城市火灾泡沫消防车虚拟训练系统的构建方法中模拟城市楼房场景火焰的实现方式为先采用pyrosim软件模拟楼房中某层发生火灾时的仿真数据,然后通过unity的particle system系统纹理映射为粒子系统的初始参数,其结合pyrosim仿真和particle system纹理映射可得到较为真实的火灾场景。因此,本发明构建了较为真实的火灾场景。
17.3、本发明一种城市火灾泡沫消防车虚拟训练系统的构建方法还包括消防车三维模型的轻量化处理步骤,具体为:利用3ds max分离出消防车的三维模型中需要渲染的零件后添加材质进行渲染,并删除不需要展示和对动作无用的零件,对保留的大零部件采用三角形折叠算法进行轻量化,减少模型三角面个数的同时保留较好面的特征,通过上述轻量化处理可有效保证系统运行的流畅性。因此,本发明保证了系统运行的流畅性。
18.4、本发明一种城市火灾泡沫消防车虚拟训练系统的构建方法中虚拟训练系统采用在线和离线两种模式,在线模式下,系统会基于实时获取的线下消防车的训练数据驱动泡沫消防车动作,并保存线下消防车的训练数据,该设计不仅使得虚拟训练系统中泡沫消防车的动作更符合实际情况,而且保存的线下数据可为消防车后续训练的改进提供支撑。因此,本发明不仅使得虚拟训练系统中泡沫消防车的动作更符合实际情况,而且保存的线下数据可为消防车后续训练的改进提供支撑。
附图说明
19.图1为本发明的流程图。
20.图2为消防车在3ds max中的三维模型。
21.图3为消防炮轻量化前后的效果图。
22.图4为水粒子和火焰粒子的碰撞示意图。
23.图5为本发明系统的模式示意图。
24.图6为离线和在线两种模式的gui界面图。
具体实施方式
25.下面结合具体实施方式和附图对本发明作进一步的说明。
26.参见图1,一种城市火灾泡沫消防车虚拟训练系统的构建方法,依次包括以下步骤:步骤一、构建泡沫消防车的三维模型;步骤二、将泡沫消防车的三维模型以及灭火场景导入unity3d中建立训练场景;步骤三、基于建立的训练场景进行泡沫消防车的动作以及灭火训练,以得到城市火灾泡沫消防车虚拟训练系统。
27.步骤三中,所述灭火训练包括城市楼房场景火焰的模拟,其实现方式为:先采用pyrosim软件模拟楼房中某层发生火灾时的仿真数据,然后通过unity的particle system系统纹理映射为粒子系统的初始参数。
28.步骤二中,所述灭火训练还包括泡沫和水的产生、水粒子和火焰粒子的碰撞,所述泡沫和水的产生、水粒子和火焰粒子的碰撞均通过unity的particle system系统实现。
29.所述水粒子和火焰粒子的碰撞采用包围盒检测法,将火焰设置为球形包围盒,将水柱设为长方体包围盒,利用unity中的on particle collision函数检测粒子的碰撞,检测到碰撞后逐渐减少火焰粒子的数量直至灭火结束。
30.所述泡沫和水的产生通过设定粒子系统中粒子的生命、速度、大小和发射方向属性以及合理的贴图实现。
31.所述泡沫消防车的动作包括消防车的位置调整、箱门的开关和消防炮方向的调整,采用c#脚本完成。
32.所述方法还包括消防车三维模型的轻量化处理步骤,该步骤位于步骤一之后、步骤二之前;所述消防车三维模型的轻量化处理为:利用3ds max分离出消防车的三维模型中需要渲染的零件后添加材质进行渲染,并删除不需要展示和对动作无用的零件,对保留的大零部件采用三角形折叠算法进行轻量化,减少模型三角面个数的同时保留较好面的特征,得到处理后的泡沫消防车三维模型。
33.所述三角形折叠算法通过maxscript调用python脚本遍历消防车网格模型的顶点和三角面进行折叠和加入约束实现。
34.所述虚拟训练系统包括在线模式和离线模式,在线模式下,系统基于实时获取的线下消防车的训练数据驱动泡沫消防车动作,并保存线下消防车的训练数据。
35.步骤二中,所述建立训练场景是指:先建立街道和马路的基本场景,并将消防车和
楼房场景置于街道的合适位置,再将消防车模型和灭火场景添加到基本场景中形成训练场景。
36.本发明的原理说明如下:本发明提出了一种城市火灾场景下消防车虚拟训练的整个过程的构建方法,它既完成了消防车独立的进行消防车的教学训练动作,也实现了消防车在线模式即通过实时获得线下消防车的数据(包括启动状态、灭火时间和打水时的管道数据等)驱动消防车的部分动作(打水过程、水余量和泡沫的余量)。构建的训练系统无需出动车辆和耗费大量的水及灭火泡沫,投资小,可重复性高,而且训练的安全性高,在节约成本和安全的前提下,对消防员专业技能的提升和训练策略的改进有一定意义。
37.在线模式:通过http通信协议获取线下消防车实时上传的数据,解析完成后传给系统,同时将线下训练的数据保存下来,保存方式可以为:采用第三方插件litjson文件对从服务器拿到的json数据进行解析和保存。
38.实施例1:参见图1,一种城市火灾泡沫消防车虚拟训练系统的构建方法,依次按照以下步骤进行:1、利用solidworks建立重汽底盘8t容量的泡沫消防车的三维模型,三维模型包括消防车底盘、罐体以及消防管路系统,底盘采用底盘厂商的提供的图纸和三维模型进行建模,上装根据消防车公司的模型进行建模后将底盘和上装装配形成消防车obj格式的三维模型,并导入3ds max(消防车在3ds max中的三维模型如图2所示);2、利用3ds max分离出消防车的三维模型中需要渲染的零件后添加材质进行渲染,并删除不需要展示和对动作无用的零件,对保留的大零部件采用三角形折叠算法进行轻量化,减少模型三角面个数的同时保留较好面的特征,得到轻量化处理后的泡沫消防车三维模型的fbx格式文件,并根据典型楼房场景1:1建立五层楼房模型后进行材质渲染,其中,所述三角形折叠算法通过maxscript调用python脚本遍历消防车网格模型的顶点和三角面进行折叠和加入约束实现,它可以清晰的展示三维模型的顶点和三角面的个数来对比轻量化效果,消防炮轻量化前后的效果图如图3所示,其三角面数减少了70%,顶点数减少了75%;3、将泡沫消防车的三维模型以及灭火场景的fbx格式文件导入unity3d中,建立街道和马路的基本场景,并将消防车和楼房场景置于街道的合适位置,再将消防车模型和灭火场景添加到基本场景中形成训练场景;4、使用c#脚本完成消防车的位置调整、箱门开关和消防炮方向调整动作,采用unity的particle system系统模拟泡沫和水的混合以及火灾现场,通过检测水粒子和火焰粒子的碰撞来实现灭火过程,其中,城市楼房场景火焰的模拟为:先采用pyrosim软件模拟五层楼房的第四层发生火灾时的仿真数据,设定第四层燃烧区域为长方体,边长分别为5m、6m、3m,燃料属性为木柜和建筑,引燃温度问200℃,环境温度为20℃,大气压力为1.01325
×
105pa,o2质量分数为0.232378,co2质量分数为5.95
×
10
‑4以得到燃烧数据,然后采用particle system系统、基于粒子系统与纹理映射技术得到粒子的初始参数;所述泡沫和水的产生通过在particle system中设定粒子系统中粒子的生命、速度、大小和发射方向属性以及合理的贴图实现;所述水粒子和火焰粒子的碰撞采用包围盒检测法,将火焰设置为球
形包围盒,将水柱设为长方体包围盒,利用unity中的on particle collision函数检测粒子的碰撞,检测到碰撞后逐渐减少火焰粒子的数量直至灭火结束,水粒子和火焰粒子的碰撞示意图参见图4;5、通过c#语言编写脚本,设置gui界面为离线和在线两种模式(参见图5、图6),离线模式下,系统独立进行消防车的教学训练动作,在线模式下,通过http通信协议获取线下消防车实时上传的数据,解析完成后传给系统,同时采用第三方插件litjson文件对从服务器拿到的json数据进行解析和保存,系统基于获取的线下数据驱动泡沫消防车动作,其中,线下消防车的数据包括启动状态、灭火时间和打水时的管道数据,泡沫消防车动作的动作包括打水过程。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献