统计数据表明,人们每天大约有70%~90% 的时间待在室内,有大量的潜在用户对室内位置服务有着一定的需求。例如在大型商场中,用户需要能够便捷地 定位自身所处位置、浏览地图,对目标店铺、最近的卫生间等进行搜寻与导航; 面对紧急情况,普通用户需要知道危险情况发生的位置与离开商场的通道,救援人员需要得到所发生险情的具体位置以及现场情况,对于商场管理人员,需要整体上把握用户人数与人流聚集情况,及时为用户疏导。除此之外,还有很多需要室内定位导航系统提供服务的场景,如定位停车点、跨楼层地图浏览与路径规划等。

全球卫星导航系统(globalnavigationsatellitesystem,GNSS)作为发展较为成熟的位置服务系统,在室外情况下能够解决大部分相关问题,但是对于室内情况,由于信号遮挡严重、信道条件复杂、多路径效应等因素,现有的室外定位方法无法在室内定位中取得很好的效果。面对室内众多场景中的位置服务需求,科研人员提出了多种室内定位方法,基于信号强度、信号传播时间、惯性导航、立体视觉等多种室内定位方法各有特点,定位精度、稳定性、成本、速度方面也各有差异。

定位数据来源不同、计算与数据处理方法不同、以及各个定位模型之间的差异为位置服务方法的融合带来了困难。本文对比和阐述了主要的室内定位方法,提供了蓝牙校正行人航迹推算的混合室内定位方法。从云端和终端用户室内位置应用需求出发,设计了室内位置服务云平台,研发了室内位置服务云端软件和终端应用APP。从云计算平台和Android平台,开发和提供了室内地图浏览与查询、定位导航、信息交互、用户管理等服务。

实现了蓝牙校正行人航迹推算的混合室内定位,拓展了位置联动、位置感知、位置搜索等智能化位置应用模式。通过扩展位置信息智慧化服务模式,实现了大众位置服务中广泛存在的找到走失的人、找回车位、寻找和访问店铺等应用需求,为推进室内定位技术应用、扩宽智慧化位置服务领域提供有益参考。

一、室内定位技术方法

1.1 蓝牙定位技术

蓝牙定位方法有指纹定位与距离交会法定位两种。低功耗蓝牙(bluetoothlowenergy,BLE)的出现为蓝牙定位技术的广泛应用带来了可能。低功耗蓝牙以低成本、低功耗、小体积为特点,能够与绝大多数的智能手机、平板电脑、计算机等电子设备兼容。蓝牙信号传输稳定,速率较高,链接速度快。BLE的通信方式有广播和连接两种,广播是单向通信机制,蓝牙以20ms到10s的间隔发送数据包,数据包发送频率越高功耗会相应地增大。

蓝牙信号不容易被障碍物所影响,但是由于蓝牙信号传输的范围十分有限,这种定位方法适用于小范围的室内定位。利用指纹定位法进行定位时,信号质量与环境密切相关。复杂的室内环境,信号反射、衰减与多路径效应等,都会使得接收信号质量下降。目前,苹果公司开发的iBeacon系统是较为成熟的基于蓝牙技术进行室内位置服务的系统。

iBeacon是基于蓝牙4.0协议的无线通讯技术,它区别于传统蓝牙,具有低功耗、低成本、链接速度快、安全性高的特点。纽扣电池可供一个iBeacon设备工作1~3a。目前大多智能手机都支持蓝牙4.0服务,这些设备可以利用接收到的iBeacon播发的蓝牙信号进行定位导航。

1.2 超宽带定位技术

在信噪比一定的前提下,信道容量与信道带宽成正比,因此大量的信息会占用较宽的频谱。超宽带(ultrawideband,UWB)利用极短的脉冲(通常<1ns)多频带同时进行信号传输,超宽带技术所使用的带宽通常在1GHz以上,大带宽使得UWB能够以高分辨率测时间,得到高精度的测距结果,在视距环境下可以获得优于厘米级的测距和定位精度。超宽带有着独特的优势,能够与窄带通信系统同时工作而不互相干扰,具有对信道衰落不敏感、发射信号功率谱密度低、系统复杂度低、定位精度高等优点。但是超宽带技术容易受到多路径效应的影响,对于复杂的室内环境,难以达到很好的定位效果。此外,超宽带技术建设成本较高,这为广泛应用带来了困难。

1.3 蜂窝通信网络定位技术

蜂窝网络是一种移动通信硬件设备,由移动站、基站子系统、网络子系统组成。由于蜂窝网络基站的广泛布设使得信号覆盖范围越来越广,无线信号可以在网络中进行传输,具有自配置、自组织和自愈的能力,信号在蜂窝网络中的传输较为稳定。蜂窝定位技术搭载在基础设施上,依靠移动通信来实现对用户的定位。与其他无线定位方法类似,蜂窝网络通过测量无线电信号到达时间、信号到达时间差等进行距离测量。利用蜂窝移动网络进行定位的方法定位精度很大程度上受到基站的影响,在室内信号受基站的输出功率调整的影响,基站布设方法与基站数量也会影响定位精度。

1.4 伪卫星定位技术

伪卫星是指布设在地面附近发射类似于卫星信号的信号发射器,模拟GNSS信号,接收设备可以借助现有的商用卫星定位芯片,对软件进行修改之后就能实现对室外 GNSS和室内信号的接收和解析,实现室内的连续无缝高精度定位,定位精度可达0.3m。伪卫星定位系统由伪卫星基站和用户接收机两部分组成,其工作模式包括独立组网单独定位和基于现有的GNSS技术联合定位。伪卫星定位会受到整周模糊度、信号覆盖率 等因素的影响,研究人员提出将伪卫星技术与指纹定位技术相结合,建立指纹数据库进行定位。由于伪卫星定位技术建设成本较高,难以大范围投入市场使用。

1.5 惯性导航技术

惯性导航系统(inertialnavigationsystem,INS)是通过测量物体本身的运动状态参数推算物体位置的系统。传统的惯性导航技术依托于高精度的传感器,通过加速度计得到相对位移量,通过陀螺仪获取航向角,在已知初始坐标的情况下对移动中的物体进行位置推算。应用于室内定位的惯性导航系统较为常见的是行人航迹推算(pedestriandeadreckoning,PDR)方法。随着手机技术的发展,智能手机上搭载传感器种类繁多,从Android1.5开始,系统内置了加速度传感器、陀螺仪、磁力传感器、方向传感器、环境光照传感器、压力传感器、距离传感器与温度传感器8种传感器。PDR方法以手机传感器获取的行人移动数据作为数据来源,对用户位置进行计算,从而达到室内定位的效果。但是PDR定位结果并不稳定,原因有以下两方面:①受限于传感器的大小与成本,微型传感器精度有限;②捷联惯性导航系统较为复杂,难以在全惯性导航系统中实现。

1.6混合定位技术

单一室内定位技术总是存在一些无法避免的不足,因此室内位置服务主要采用混合定位技术实现室内连续、可靠定位服务。混合定位技术以PDR为技术主线,通过集成蓝牙临近、超宽带定位、伪卫星定位等完成途中定位校正,从而实现连续、可靠、高精度室内定位。PDR技术作为一种相对定位技术,由于推算方法本身特性,行人在移动的过程中误差会不断的累计;PDR算法也容易受到行人行走姿态的干扰,例如摆臂等动作会对航向角的测量带来偏差,行走速度较快时,会对加速度计的步态探测结果以及步长估计结果产生影响,使得定位精度下降。BLE的临近定位是绝对定位,能够消除累计误差,本文采用BLE算法来校正PDR定位结果,使得行人定位误差能够限制在一定的范围之内,累计误差能够及时消除;同时,利用PDR算法中获得的行人运动信息,例如航向方位角等对行人行走方向和位置进行判断,尽可能避免BLE定位过程中的误判。利用BLE对PDR定位结果进行校正,前提是需要已知测试环境中部署的每一个iBeacon节点的MAC地址和坐标。定位校正过程如下:首先设定蓝牙信号强度判断阈值和距离判断阈值,对环境下所有的iBeacon节点进行搜索,筛选出大于设定阈值的节点;对筛选出的节点接收信号强度值进行距离推算,选择计算距离小于预设距离判断阈值的点作为当前时刻的定位结果。

二、室内位置服务云平台搭建

室内位置服务云平台的建立主要包括两部分:①利用基于OpenStack研发的PIE-Stack对硬件资源实现虚拟化;②利用Docker容器实现微服务管理。

2.1云计算管理系统

云计算是一种动态扩展的计算模式,通过网络将虚拟化的资源作为服务提供,通常包括设施即服务(infrastructureasaservice,Iaas)、平台即服务(platformasaservice,Paas)、软件即服务(softwareasaservice,Saas)3种服务模式。PIE-Stack管理系统是基于OpenStack研发的IaaS硬件资源虚拟化平台,支持大规模计算资源的虚拟化,能够实现资源集约化管理、数据统一化管理和服务集成化管理。

PIE-Stack提供统一计算资源池、网络资源池和存储资源池,同时支持资源池扩充与一体化监控、部署工具虚拟化以及云业务管理。软件设计采用“自顶向下”的设计方法,将虚拟化管理软件进行模块化划分,各模块间尽可能采用松耦合的架构,各个模块之间能够独立运行,由云平台进行连接。软件从逻辑上主要分为虚拟化管理门户、对象存储、镜像管理、计算、块存储、网络、权限认证7个模块。7个模块间彼此关联,共同组成PIE-Stack虚拟化管理软件。

在功能设计方面,PIE-Stack管理软件基于虚拟化技术,与云计算等技术相结合,为用户提供计算资源管理、网络资源管理、存储资源管理、用户管理和系统安全管理5大模块的功能,具有一定的可伸缩性和扩展性。该管理软件共设计了6个数据库对服务进行支撑,从逻辑上分为计算资源数据库、网络资源数据库、块存储数据库、权限认证数据库、镜像存储数据库、文件存储数据库。

2.2 微服务管理系统

微服务是一种架构风格。一个大型复杂软件由多个微服务组成,各个微服务可独立部署,且微服务之间是松耦合的,每个微服务仅关注于完成一件任务,有很高的灵活性,能够实现多编程语言开发。

2.3云平台服务

云平台主要提供消息推送服务与文件存储服务。推送服务是指服务器定向将信息实时送达各客户端的服务。信息推送服务云平台主要功能包括:消息发送和接收、用户管理、好友管理、群组管理。消息发送和接收功能主要实现在一条信息发布以后,能够通过通讯录好友分享等途径,让其他用户接收消息;用户管理功能主要管理用户登录和注册;好友功能包括好友添加、删除、获取好友列表等;群组管理功能主要实现群组管理和群组成员管理。推送功能的实现依赖于设备标识。每一个设备都有一个自己的设备号,而设备中的APP都有一个唯一的包名。在推送信息的过程中,服务器只需要找到设备号与包名就可以定位到某个设备的某个应用,而设备号与包名一起构成一个标识符,信息推送过程为把标识符与消息内容等共同交给服务器,服务器把内容发到标识符上。

三、智慧化位置服务功能实现

终端智慧化位置服务应用开发基于Android平台,用Java语言进行开发。大众位置服务APP集成了多种室内位置基础服务,主要分为4大模块:地图服务模块、定位导航模块、用户管理模块、信息交互模块。大众位置服务APP模块设计见图4。地图服务模块包括平面与三维地图浏览、位置查询与反馈;定位导航模块提供用户定位、位置查看、位置收藏、目标导航以及路径规划功能;用户管理模块实现用户的注册、登录、退出、注销等操作;信息交互模块实现用户之间、云端与用户之间的位置分享、信息分享等。

四、室内位置智慧化服务实现

4.1系统拓扑设计

室内位置服务系统拓扑结构设计见图5,包括云平台和智能终端两部分共同运行。云平台业务主要提供云主机,并能通过外网访问进行操作。云主机分为基础云主机和业务应用云主机。基础服务云主机用于云操作系统、云推送、云存储等计算服务;业务云主机用于云定位、GIS服务、应急救援、安全监控、大众位置服务等计算服务。智能终端通常为智能手机、平板电脑等,终端具体实现用户的室内定位、室内导航、检索查询、地图浏览、位置收藏、社交管理、安全预警、用户求助、云端救援等服务。云平台与终端之间通过无线通信网络进行信息传递。

4.2智慧化服务实现

4.2.1位置联动的智能探寻服务

商场偶尔需要发布找人通知,此时利用位置联动智能化服务可完成人员探寻任务。寻人者通过APP获得本人的位置,编辑寻人信息,将附加自身位置的寻人请求发送至位置服务云平台。位置服务云平台将寻人通知群发至所有用户;当某个用户发现走失者时,可定位走失者位置并向云平台反馈附有位置信息的探寻结果;位置云平台根据收到的走失者位置信息、寻人者位置信息,规划探寻路线,并发送路线至寻人者,建立寻人者、云平台、走失者之间的位置联动链路和通信通道,实现智能化探寻服务。

4.2.2 位置感知的智能辅助服务

位置服务是室内各种服务的基础,位置感知与实际需求场景结合,可以实现用户室内智能化服务。用户对重点位置可通过APP定位并发送和收藏至位置服务云平台,在忘记位置时可以随时随地调取查看收藏的位置。导航服务是位置服务的重要组成部分,大众位置手机应用为用户提供了导航功能,用户在搜索到目标位置或者查看收藏位置后,可以直接在地图界面上进行导航路径的规划,手机终端提供了语音导航和图像指示两种导航方式,在为用户导航的过程中,应用会根据手机方位角对用户前进方向进行判断,对用户的下一步前进方向在图形上进行标注,同时语音提示。

4.2.3位置搜索的智慧分析服务

大型商城的铺面和摊位星罗棋布,用户经常需要寻找目标商铺。位置搜索和定位导航智能化能够完成商铺搜寻任务。大众位置服务APP为用户提供了搜寻功能,用户可以在搜索框直接对感兴趣的目标名称进行搜索。搜索的方式设置为模糊搜索,系统会根据用户输入内容进行联想,相关目标会显示在搜索框下,为用户提供参考;点击搜索结果,店铺位置会标记在地图上,用户可进一步导航前往店铺。