基于LED可见光技术的室内车辆定位系统设计
2019-10-31朱瑞晨曹宇彤索朝举刘洋洋刘伟伟
朱瑞晨 曹宇彤 索朝举 刘洋洋 刘伟伟
摘要:针对车库环境下的车辆定位困难问题,提出基于LED可见光技术的室内车辆定位系统设计,该系统包括LED光源硬件电路设计和安卓平台开发手机APP开发,实现了对光源的图像信息采集处理和位置信息计算,结合对应的车库地图信息达到了用户的实时定位及寻车路径的准确计算,该系统为停车场反向寻车提供一种很好的解决方案。
关键词:可见光;车库;定位;反向寻车
中图分类号:TP311 文献标识码:A
文章编号:1009-3044(2019)22-0228-03
开放科学(资源服务)标识码(OSID):
时代飞速发展,如何实时获取自己的位置信息成为一个热点问题[1]。在室外GPS技术很好地解决了这一问题,但在室内由于建筑结构度阻挡,多种无线设备出现信号干扰和衰落效应,导致定位效果较差。为了解决这一问题,学者提出了各种室内定位方案。基于信号强度的WiFi定位方法具有便携方便性,但定位精度不甚理想[2];EPE,MOLE系统精度可以达到要求,但是算法极其复杂难以达到实时定位[3];Zigbee和蓝牙技术功耗低,但定位精度取决于信道物理品质、信号源密度、环境和算法的准确性等,具有较高的软件成本 [4];射频识别技术现已广泛用于物联网领域,具有定位精度高的优点,但其抗干扰能力较差[5];超宽带定位技术安全性强并且定位精度高,但其整套系统造价昂贵,不适合大规模落地推广[6]。
本文提出基于LED可见光技术的室内定位方案,可见光技术具有价格低廉,使用寿命长,不受电磁干扰等优点[7],特别适合在湿度大、网络信号差的场景应用,如车库,矿井,人防工程建筑等,这些区域不适合引入有着大规模电磁电气元件的无线定位系统[8]。本文将以车库这一场景为例,设计基于可见光技术的室内车辆定位系统,该方案兼顾定位与照明,具有复杂度低和可靠性高等优点,车辆位置信息在智能手机终端实时显示,系统为停车场反向寻车提供一种很好的解决方案。
1 室内车辆定位系统设计
基于LED可见光技术的室内车辆定位方案包括光源硬件电路设计和智能手机端软件设计,后者包括LED光源识别子系统和室内寻车子系统,系统框图如图1所示。
1.1光源硬件电路设计
光源硬件电路部分由LED光源控制模块、驱动模块、发光模块组成,使其同时满足被识别和照明的需求。控制模块是通过MCU将其输出不同频率或占空比的方波信号送到LED驱动模块的输出电流使能信号端,从而使得LED驱动模块实现不同频率或占空比的输出电流导通,采用STC89C52单片机,通过STC89C52的定时器实现其P10、P11、P12、P13四个IO口以不同频率的方波输出,P10、P11、P12、P13四个IO口分别与四个LED驱动模块输出电流使能端相连,驱动模块采用DD311单通道大功率LED恒流源驱动器,其输入参考电流端通过两个3.9KΩ串联接到24V直流电源,近似得到300mA的参考电流,LED光源模块采用24V直流LED光源,连接到LED驱动模块。
1.2智能手机端软件设计
1.2.1 LED光源识别子系统
对于LED光源的识别是通过调整各灯的频率,使其按照不同的频率闪烁。再使用装有CMOS图像传感器的智能手机对准光源拍摄获取图像,即可得到明暗栅格图像,如图2所示。将明暗栅格图像对应的LED光源进行编码,通过识别该图像即得到对应的LED光源号码,对照光源安装位置表,即得到LED光源所在位置。
具体实现过程如下:
(1)根据手机摄像头拍摄相应的LED灯,进行图像处理计算出条纹宽度。
图像处理算法的基本步骤为首先读取图像进行预处理(灰度处理,模糊去噪,二值化等),再从照片中截取目标区域,最后提取条纹宽度,具体流程图如图3所示。
(2)获取LED光源的明暗栅格图像后,根据明暗条纹宽度确定光源的闪烁频率。
如公式(1)所示,h已知,T根据拍摄的相机确定,通过图像处理程序解析出明暗条纹的宽度W,即可算出该光源的闪烁频率F。实验研究表明为避免图像信号产生混叠,不能拍摄到清晰的明暗条纹,光源闪烁的一个周期的时间应大于2倍的卷帘快门周期。
[F=hWT] (1)
式中,[F]表示光源闪烁的频率,[T]表示图像传感器扫描一行像素的时间(为卷帘式快门的周期),[W]为在一个周期内形成的明暗条纹宽度和,[h]为单个像素的高度值,默认为1。
(3)将识别出的频率通过预设置数据库查找对应的LED灯,同时获取将该灯的坐标信息,将该盏灯的位置信息在地图上标出,建立了地理位置与图像的映射。
1.2.2室内寻车子系统
当用户将要取车时,拍摄靠近自己的一盏灯,即可获得该灯的位置信息,寻车软件便会规划出一条导航路线,再调用手机内的惯性导航元件,磁力感应器判断运动初始方向,利用陀螺仪去判断移动装置的运动方向,利用重力感应器去判断人员行走的步伐,根据人们走路的平均步长,即可计算出人行走的方向与速度,实现实时导航。
位置实时计算模块:采用安卓App实现图像的获取与处理,根据手机端拍摄的LED光源图像实时计算用户所在位置。
车库地图显示模块:在用户安装App时加载所在车库的地图信息,并在手机端显示。
寻车路径计算模块:采用安卓App實现车辆定位与实时导航的功能,App同步调用安卓程序接口,在手机屏幕上绘制运动轨迹。当手机持有者直线行走时,由于身体重心的改变,加速度传感器的Z轴将会出现峰值,出现峰值,箭头便在地图上移动一段距离,移动距离的长度与初始行走时输入的步长形成一个固定比例,后续每次峰值出现,就按照该比例移动一段距离,以每次峰值出现到下一次峰值出现为一个时间戳,重复绘制线段。当用户开始转向时,方向传感器便能读取到X轴有较大变化,当方向传感器的X轴稳定到一定程度不再出现较大变化时,转向结束,应当立即读取方向传感器的角度值,并在屏幕上根据方向传感器返回的角度箭头立即朝新的方向转向,运动结束时屏幕上即可显示运动轨迹。