基于CORS的智能手机高精度定位平台研究
2021-09-14李晓华李伟王开锋马宁
李晓华,李伟,王开锋,马宁
( 1.江苏省测绘工程院,南京 210013;2.江苏省地质调查研究院,南京 210018;3.南京师范大学地理科学学院,南京 210023 )
0 引言
智能手机属于大众消费级产品,内置的全球卫星导航系统(GNSS)模块属于导航级别的接收机模块.长期以来,智能手机用户无法获取原始GNSS观测数据,因此,基于智能手机实现高精度导航和定位算法仅能针对其输出的坐标解算结果,其导航定位精度改善非常有限.2016年年末,谷歌公司发布了Android 7.0系统,开始支持智能终端GNSS原始观测数据的输出,使得基于安卓智能设备内置GNSS模块进行高精度定位成为了可能[1-2].由于智能手机价格低廉、内置传感器丰富、且用户数量巨大,若利用智能手机将输出的GNSS原始观测数据联合连续运行参考站(CORS)系统进行精密定位,则智能手机可作为包括车道级导航、城市部件调查、管线测量等高精度导航定位领域的采集终端,为当前地理测绘、智能交通、智慧城市、灾害应急响应和公共安全领域带来巨大效益[3].
在此应用需求牵引下,本文开展基于CORS的智能手机高精度定位平台研究[4-5].通过使用CORS的移动终端高精度差分定位方法[6-9],形成基于CORS进行移动终端高精度定位的技术方案,并开发实现相应的平台系统.
1 平台总体设计
1.1 总体技术流程
按照实现的技术流程划分,面向移动终端的高精度导航与位置服务可分为CORS数据中心、移动导航定位终端和位置服务平台三个组成部分.CORS数据中心部分是差分定位的数据来源,主要实现多系统GNSS基准站的实时数据采集以及向移动导航定位终端的数据传输;移动导航定位终端主要是根据本地实时采集的GNSS数据以及由CORS数据处理中心利用虚拟参考站(VRS)技术生成一组虚拟的观测值数据播发给用户,实时进行差分解算,得到高精度的位置信息,这是智能手机子系统高精度定位的核心部分,集成了多种算法模型,同时也能够实现在手机端的多种信息的可视化展示;位置服务平台可以实现用户管理、移动终端高精度定位结果的展示、轨迹回放等功能,同时预留跟其他应用服务的接口.
从应用流程来讲,移动终端用户首先接收本地GNSS卫星的观测数据,通过Ntrip协议与江苏省连续运行参考站(JS-CORS)建立数据连接,移动用户收到差分数据后实现差分定位解算,最后将高精度定位结果推送至位置服务平台.位置服务平台基于移动终端的高精度定位结果,可以进行位置服务的拓展,满足多种高精度应用场景的需求.
1.2 总体架构
如图1所示,整个系统总体逻辑结构主要由数据采集层、网络传输层、应用服务层、平台管理、数据资源层五个层面以及信息安全、运行管理、标准规范三套保障体系构成.该平台采用分布式微服务架构,以面向服务为核心,通过统一的网关对外提供服务,整个平台具有良好的稳定性和扩展性.
图1 系统总体结构
2 核心服务
2.1 观测数据采集服务
Android API框架是实现应用程序与自身携带的传感器(如GNSS模块)之间交互的媒介.Android 7.0及以后版本,智能手机设置了应用程序接口(API)函数实现了对原始GNSS观测和位置、速度、时间解决方案的直接访问.但是,智能手机API 函数并不直接给出原始GNSS观测值,而是给出了计算相应观测值所需的参数.用户获取该参数即可计算并恢复出原始GNSS观测值,表1给出了部分原始观测值及其参数的具体含义[9].其中,伪距观测值的重建是基于信号传递时间差(信号接收时刻和发射时刻)
表1 移动终端原始观测值
包含模糊度的载波相位距离观测值直接由原始字段AccumulatedDeltaRange-Meters获得;多普勒观测值由字段PseudorangeRateMetersPerSecond 获得;信噪比(SNR)数据由字段Cn0DbHz获得;根据State 等字段数值判断接收到的信号是否完成解码、发生周跳、失锁等情况,Uncertainty 等字段可以用于判断数据质量可信度,将不合格的数据剔除使得移动终端原始观测值转换为与接收机无关的RINEX 格式方便做后续数据处理.
2.2 差分解算服务
首先移动终端使用单频非差观测值,通过加权最小二乘算法得到初始坐标,移动终端将近似坐标以美国国家海洋电子协会(NMEA)格式通过无线移动数据链路传送给CORS数据中心.数据中心通过虚拟参考站技术,对观测值的各种误差源进行改正,将改正的观测数据生成虚拟观测值,以RTCM 标准协议通过NTRIP协议发送给流动站用户.移动终端接收到CORS中心发送的差分数据后,进行差分解算可以得到高精度位置信息.
2.2.1差分解算策略
针对手机观测值噪声较大的特点,使用扩展卡尔曼滤波算法作为解算策略,状态向量x表示模型待估参数,它的协方差矩阵P可由观测值向量得到.卡尔曼滤波分为预测和估计两部分,估计部分如下:
式中:(−)和(+)分别为卡尔曼滤波的预测和估计值;k表示历元时刻;h(x)、H(x)和R k分别为测量模型向量、偏微分矩阵和测量误差协方差阵.假设系统模型为线性,卡尔曼滤波的预测表达式如下:
式 中,F和Q为状态转移矩阵和系统噪声协方差矩阵.
2.2.2双差组合
在差分相对定位中,移动终端作为流动站,CORS站作为基准站,使用双差观测值作为基本观测量,载波相位和伪距的双差形式如下:
式中:j、k分别为不同卫星;r、b分别为流动站和基准站;ρ为卫星和接收机间的双差几何距离;λ为第i波段的波长;B为载波相位偏差;d ΦSr,i表示载波相位改正项;ε为载波/伪距噪声.双差组合观测值消除了卫星和接收机钟差,减小了电离层和对流层效应的影响,是高精度定位中常用的方法.
2.2.3误差改正模型
CORS数据中心通过多基准站实时同步观测数据,对电离层误差、对流层误差和星历误差等进行精化建模.电离层改正采用klobuchar 模型,该模型针对移动终端的单频数据的特点有较好的改正效果;对流层改正使用Saastamoinen 模型,模型中的对流层经验参数使用CORS中心以往大量的数据拟合而成;对于现在大部分移动终端能接收多系统星座信号的特点,差分解算中采用CORS中心提供的多系统广播星历估计卫星钟差和钟漂,有利于多系统融合提高定位效率和精度.
2.3 数据通信网关
数据通信网关主要功能是搭建网络传输通道,实现设备和平台之间数据采集和命令下发的双向通信,对设备进行高效、可视化的管理,并对数据进行整合分析.主要分为设备接入、数据转发等组件.设备接入主件提供设备与平台的双向数据通道能力,支持设备数据上报、设备上线以及其他信息.网关实现技术主要通过用java 语言开发,在Mina 通信框架上封装实现协议解析的配置化、插件化、连接通道的自动管理,网关内部使用缓存(Guava Cache)及生产消费模型框架(Disruptor)技术提高效率.
3 平台功能
基于CORS的智能手机高精度定位平台由两部分组成,智能手机移动端手机软件(APP)和位置管理平台.
3.1 移动端APP
3.1.1观测量采集
移动终端利用Android 提供的API接口输出GNSSClock 模 块、GNSSMeasurement 模 块、GNSS Navigation Message模块等.这些模块详细地记录了智能手机GNSS芯片跟踪及捕获的情况,需要通过相应的处理转换成RINEX 文件,便于定位程序处理.
3.1.2差分数据解算
移动终端进行高精度定位需通过差分数据解算.通过智能终端无线网络登录CORS账号,配置CORS端口参数.先通过智能终端单点定位结算得到初始位置,发送给CORS中心;CORS在得到智能终端结算的初始位置后,发送差分数据;移动终端收到CORS中心发送的差分数据后,使用双差组合,通过扩展卡尔曼滤波算法得到定位结果.同时移动终端解算出位置信息后,通过网络实时传输到位置管理平台的数据库中.
对于移动终端用户,最常用也是最简单的定位手段即伪距单点定位.受限于GNSS天线较小的体积和较低的制造成本,移动终端的GNSS观测值受多路径误差的影响较大,观测质量较差,这一点严重降低了单点定位的精度.相比之下,差分定位用形成基线的形式消除了测量过程中的大部分误差,是高精度定位的重要手段.由图2和表2所示,原点为已知点坐标,单点定位的结果十分发散,有的点位甚至较原点偏移了30 m,总体精度在5~10 m.而差分定位的结果十分集中且稳定,总体精度可以达到dm 级,高精度将大大扩展手机定位的应用范围.
图2 单点定位(蓝)和差分定位(红)散点图
表2 外符合精度比较m
3.2 位置管理平台
3.2.1位置监控
位置管理平台可查看智能手机的位置,并可对智能手机进行实时监控.设为监控对象后,可在地图上查看实时的运动轨迹,显示其运动范围.另外可对监控对象的活动区域进行手动规划,在地图上展现.当监控对象超出规划的区域范围,就及时进行报警提示.图3为智能终端的实现应用程序APP界面.
图3 位置监控
3.2.2电子围栏
电子围栏主要用于对出入区域进行监控和报警,可划定指定区域,并可设置区域内活动人员,进行人员进出警告记录等.应用电子围栏技术时,可对电子围栏进行区域范围等一系列设置.其中包括:围栏名称、围栏类型、经纬度信息、警告类型(进区域、出区域)等.通过这些设置,可以实时掌握人员的流通情况.
3.2.3轨迹回放
该平台还可以查看移动终端用户在一定时间段内的运行轨迹、停留点信息,并具有在地图上进行轨迹回放功能,通过其轨迹可以计算出相应的轨迹速度.在回放过程中,用户还可以通过加速、减速、暂停、继续等功能来控制回放.通过回放,方便用户了解更多轨迹道路信息.
3.2.4系统管理
系统管理分为单位信息管理、角色管理和用户管理.单位信息管理用于管理各单位部门编制信息,以多层树形结构展示,包括新增、编辑、删除、列表查询,使得单位信息管理能够更加简明清晰.在对各部门角色进行管理时,可分配角色针对于系统的功能使用权限和功能按钮权限,对权限等级进行划分.角色管理主要包括以下几个模块:角色录入、角色编辑、删除、列表查询和权限设置等.同时还可以进行批量编辑,为大量人员编辑提供便利.最后是用户管理应用,用户可对账号信息进行维护管理,包括用户信息的新增、编辑、密码重置和删除.该应用和角色管理类似,需要进行用户信息的录入和编辑.通过系统管理可以快捷有效的管理平台信息数据.
4 结束语
本文以智能手机为载体,介绍了手机原始观测值的具体含义和转换方法,研究了CORS和智能手机相结合的差分解算模型,最终实现了手机定位精度的提升. 结合JS-CORS,完成了移动终端高精度导航定位的解决方案.同时,开发了相应软件系统,包含一套移动端APP和一套位置管理平台. 基于JS-CORS开展面向移动智能终端的高精度导航定位平台的成功建设,将大大延伸智能手机在地理测绘、智能交通、应急救援、公共安全等方面的应用场景.同时,也为JS-CORS面向大众的高精度导航定位公共服务推广应用奠定基础,这必将带来显著的经济效益和社会效益,对于提升JS-CORS的社会影响力具有重要意义.