基于CMOS HMC5883 MPU6050的模拟灭火训练系统

2018年12月07日 07:11来源:分分彩手机版

编者按:随着信息技术和虚拟现实技术的发展, 一些具有一定风险和成本较高的训练项目可以利用虚拟现实技术通过计算机模拟现场环境的方法代替实现。本文主要设计并实现了一种基于CMOS摄像头定位,HMC5883+MPU6050检测航姿的模拟灭火训练系统。利用投影机显示火场模拟画面,通过双目识别技术定位训练者,再利用航姿检测技术获取训练者手中模拟灭火器的朝向,从而较真实的模拟出灭火训练的情景。本系统建立了一套交互体系也可以推广到其他模拟训练中,可扩展性强,具有较高的创新性。


摘要:随着信息技术和虚拟现实技术的发展, 一些具有一定风险和成本较高的训练项目可以利用虚拟现实技术通过计算机模拟现场环境的方法代替实现。本文主要设计并实现了一种基于CMOS摄像头定位,HMC5883+MPU6050检测航姿的模拟灭火训练系统。利用投影机显示火场模拟画面,通过双目识别技术定位训练者,再利用航姿检测技术获取训练者手中模拟灭火器的朝向,从而较真实的模拟出灭火训练的情景。本系统建立了一套交互体系也可以推广到其他模拟训练中,可扩展性强,具有较高的创新性。

本文引用地址:

引言

  随着中国经济高速发展,建筑规模日益扩大,火灾的危险性逐渐增大。每年由火灾造成的人员伤亡与财产损失十分严重。生活中很多火灾的发生是由于普通民众对简单火情的处理不及时或不得当而产生的[1] 。而火灾的产生情况复杂,模拟火灾现场具有一定危险性且成本昂贵,普通民众很难接触到各类简单火情的模拟训练。

  随着信息技术与虚拟现实技术等高新技术迅猛发展,利用计算机模拟各类火情并指导人们适当处理简单火情成为可能。以虚拟现实技术为主要依托的虚拟训练方法可以绕开实际模拟火灾的种种弊端,如安全性、可重复性、训练内容单一[2]。本系统利用大屏投影与模拟灭火器,为使用者提供多种火情的应对训练方案。在提高训练效果的同时,降低训练成本、提升安全系数。

1 系统总体设计

  本套模拟训练系统的基本原理是利用位于投影屏幕上方的两个摄像头定位位于灭火器模型前端的红外LED,得到LED相对于摄像头的空间坐标L,再利用位于灭火器内部的两块运动传感器,计算出灭火器喷口的朝向,即灭火器的3维空间航姿A。通过空间坐标L和灭火器喷口朝向A,得到灭火器所指向到屏幕上的具体位置坐标T[3]。此套系统也可用于模拟打靶。系统工作流程如下图1所示。


  灭火器模型喷口上放有一颗LED红外发光管。在系统启动后,此发光管常亮。灭火器内固定有一嵌入式系统。嵌入式系统上包含运动传感器MPU6050和磁力计HMC5883。该嵌入式系统所用的核心处理器为STM32F103系列的32位ARM微控制器。处理器采集运动传感器测得的数据并计算出灭火器喷口的朝向A后,通过同样位于嵌入式系统上的nRF24L01无线通信芯片,将朝向数据A实时发送给系统主机。该嵌入式系统还可以检测灭火器阀门按压情况,按压开闭合信号同样由nRF24L01无线芯片发送给主机。

  同时,位于屏幕上方的CMOS摄像头捕捉到灭火器喷口上的红外LED发光点。通过位于摄像头模块的嵌入式系统处理,得到发光点位于CMOS摄像头采集的平面画面中坐标,两个摄像头得到的坐标分别为(cx1,cy1)和(cx2,cy2)。摄像头内嵌入式系统的核心处理器为STM32F407系列的高速ARM微控制器。同样,两个摄像头模块通过nRF24L01芯片将坐标(cx1,cy1)和(cx2,cy2)实时传输到系统主机统一计算处理。

  系统主机根据最新得到的两个坐标(cx1,cy1)和(cx2,cy2),加上灭火器喷口朝向数据A融合计算得到灭火器所指向到屏幕上的具体位置坐标T。位于主机上运行的火灾模拟训练软件在得到坐标T后判断灭火器是否对准需要灭火的位置,并输出模拟火情的画面到投影屏幕上。通过以上流程,训练者利用灭火器模型与大屏幕投影显示,实现互动与灭火训练。

2 红外点定位

  为了能定位灭火器模型相对于投影屏幕的空间坐标,本文采用双摄像头定位空间中唯一点的方案,属于计算机视觉中的双视计算范畴。相比一般的室内定位方案诸如超声波定位和蓝牙定位等无线定位手段,双视计算得到的定位数据更准确、精度更高,定位误差可以控制在厘米级。

  本系统中,位于摄像头模块中的微处理器负责完成对红外LED特征点的定位计算工作[4]。本文采用的微处理器型号是STM32F407IGT6,它采用的是32位 ARM Cortex-M4F 内核,内置DCMI,FSMC接口,极大方便了视屏采集。由于微处理器的计算能力有限,为了简化图像处理运算并更高效地识别灭火器模型前端的红外特征点,本文在摄像头前加上一块红外滤镜。红外滤镜可以阻挡过滤可见光通过,同时只允许规定波长的红外线通过。根据选用的红外LED类型,选择相应波段的红外滤镜。当然,所选用的CMOS数字摄像头必须对LED所释放的特定波长红外光线比较敏感。本文选用的摄像头是美光公司型号为MT9V032的数字摄像头套件。此款摄像头可保持分辨为640*480的情况下达到每秒60帧画面数据输出,同时此款摄像头对波长为850nm的红外光线也十分敏感。因此选用的红外LED发出的波长和红外滤镜的可透过波长均为850nm。

  经过红外滤镜处理后,数字摄像头看到的画面如图2所示,画面中出红外LED发光点相对于周围环境会显得异常明亮,十分方便识别此发光点的位置。

  在微处理器取得一帧画面的数据后,首先进行简单的降噪和二值化处理,将红外发光点标识为1,周围环境标示为0。之后取得标识点小圆块上下左右边界点的坐标值,并取平均值,得到标识圆点的中心点坐标即(cx1,cy1)。

  摄像头快门速度为每秒60次,摄像头模块内嵌入式系统每秒60次将坐标通过nRF传送给系统上位机。摄像头经过标定检测后测得其水平可视角度约为80°。在训练过程中灭火器模型前端红外LED距离摄像头垂直距离小于2米,而摄像头的水平像素点数为640个。由此可以计算出定位的理论误差最大约为3mm。定位比较精确,符合使用环境的。

3 灭火器朝向计算

  在通过双摄像机定位出红外LED的空间三维坐标后,再得到灭火器喷口的朝向就能计算出模拟灭火器喷在了屏幕何处。

本文地址:http://www.zgsxc.com/pingtaifenfencai/20181207/628.html 转载请注明出处!

大家都在看更多>>

今日热点资讯