研究背景
在过去的几十年中,GNSS导航得到了很大的发展,相比于专业级设备,低成本设备的性能并不能满足市场需求。许多特殊情况,例如线下购物或露天停车需要高精度定位。由于手机原始GNSS数据不可用,以前的研究人员只能使用外部接收器分别连接到智能手机天线和芯片,以演示手机能够实现高精度定位。直到2016年谷歌发布Nougat OS并提供GnssMeasurement和GnssClock类,这意味着可以在独立的智能手机平台上实现高精度定位算法。
相比专业接收器更好的灵敏度和多径抑制,智能手机天线容易受到信号方向的影响,尤其是多径信号。更重要的是,如果我们不想建立大气误差模型(它在电话中如此麻烦),电离层和对流层将导致我们数十米的位置误差。对于米级精密定位,广泛应用是利用预定数据库的Wi-Fi信号,但理想的解决方案是采用智能手机原始GNSS数据和惯性测量单元(IMU)等传感器。在我们的工作中,我们只使用智能手机IMU来协助定位系统。
II. 差分模型与融合方式
传统的伪距单点使用最小二乘(LS)算法,智能手机中LS的最大问题是LS需要多次迭代,会导致大量的计算而且LS结果不平滑,所以这个算法可能适合于位置而不是导航。因此我们需要卡尔曼滤波器,但还有三个问题:
1.传统卡尔曼滤波器仅用于线性控制系统,直接单点定位不再是线性过程,我们只能使用扩展卡尔曼滤波器来解决。
2.对流层误差和对流层误差仍在模型中。
3.流动站基线方向矢量Ir稳定性不可靠,尤其是智能手机产生的Ir,位置值与速度耦合。
基于短基线假设,流动站基线方向矢量可以被视为平行线。 在不超过10公里的短基线上忽略了电离层和对流层。 此外,基线向量rur可以等于-bur·Ir。 该步骤避免线性化估计,不再需要延伸卡尔曼滤波器并且位置与速度解耦,因为方向矢量Iu不再由用户确定。
智能手机时钟错误是一个不稳定的因素,时钟的质量将在下一章中进行分析。 因此我们采用双重差异来消除智能手机时钟错误。 为了交换,RTD将在观察中牺牲一个方程,5个可见卫星是必不可少的。
为了使运动位置解收敛,我们还探索了一种辅助RTD方法,通过使用基于MEMS的IMU来更新速度状态。 IMU在短时间内的高可信度意味着它是与GNSS系统的理想补充,IMU可以持续提供高更新率,而GNSS更新率为1HZ。 IMU通常存在每次通电时的固定偏差。 如图所示,如果仅依靠IMU,零偏将迅速产生大的漂移。 根据经验,加速度计的零偏差值在每次上电后都会固定下来,所以零偏差只需要计算一次,如果我们只需要零偏,则一分钟就足够了。
消费级基于MEMS的IMU总是遭受系统不稳定性和振荡噪声,系统不稳定性指的是没有精确的缩放,传感器轴未对准和交叉轴灵敏度。 IMU噪声的直接时域分析技术是Allan方差模型,其指出了IMU噪声项的表示:量化噪声,角度(速度)随机游走,偏置不稳定性,速率随机游走和漂移率斜坡。通过在融合算法中集成IMU,这些误差将被累积,导致定位结果的显着漂移。根据经验,零偏置是加速度计应考虑的主要因素,虽然每次都难以评估零偏置不稳定性,但每次上电后加速度计的零偏置值都会固定下来,因此零偏置只需要计算一次,如果我们只需要零偏差就足够一分钟。
通过最小二乘(LS)估计获得KF滤波初始值。尽管随着KF迭代时间的增加,初始值几乎没有影响,但适当且正确的初始值有助于快速收敛。由于所有方程变量在差分LS模型中都是线性的,因此在LS计算期间没有迭代。因此,LS矩阵中的大观测误差可能产生破坏性结果,除了我们在数据收集过程中设定的阈值之外,经验高度截止角设置为15度。
直接单点与IMU辅助双差模型的主要区别如下:
- 受智能手机时钟振荡器质量的限制,智能手机GNSS芯片时钟误差漂移会显着影响系统稳定性,PDD可以消除智能手机和卫星的时钟误差,从而降低系统不稳定性和噪声参数估计数。
- 双差模型必须在观测步骤中牺牲一个方程,其中最大仰角卫星观测方程被设定为基准。
- 双差模型源自单个差分模型,该模型源自直接单点。假设噪声谱遵循高斯分布,差分过程将产生双单差噪声方差。从理论上讲,单点过程噪声叠加在差异中,然后PDD噪声是基站噪声和智能手机噪声的组合,但为了简化计算,本文忽略了可忽略的基站噪声。
- 在不超过10公里的短基线上忽略了电离层和对流层
III. 实验架构与数据处理
A. 实验环境
实验手持平台如图1所示.GNSS和星历数据由嵌入Broadcom BCM4774芯片的HUAWEI P10收集和处理。 GNSS天线安装在手机的上部,但P10内的IMU模型未知,每个惯性传感器的采样率为50 Hz。将具有South HY-BLRB02R天线的u-blox m8n 接收器同时作为对比进行实验。 U-blox M8P RTK模式标志着基本事实。距离实验区约9.5公里,可以使用一个CORS网络。该站用作我们实时差分系统的基站。
实验在上海交通大学校园内进行,单点和IMU辅助差分算法在不同场景下进行:静态,运动和信号阻塞。静态在一个空心广场的中心,运动学是校园里的一条道路,有密度树(实际上这些树对设备有影响。)但没有建筑物阻挡卫星信号。在隧道中选择堵塞情景如场景图,其将在隧道中持续20米距离。
实验手持平台
实验环境
B. 数据采集与处理
GNSS代码测量由智能手机中的GNSS芯片产生,但这些可用的原始数据应该通过Android操作系统API转换为Rinex格式文件,Android操作系统API由Android开发人员文档精心描述。 主要采用的类是GnssMeasurement和GNSSClock,它们提供了完整的元素来生成Rinex格式数据,如伪距,载波相位,多普勒和C / N0 等Rinex格式中定义的观测量。如下图所示:
值得注意的是,方法getFullBiasNanos获得了自1980年1月6日以来GPS接收器内的时钟与真实GPS时间之间的差异。如果接收器估计了由本地晶体获取的GPS时间,则该值可用。 然而,由于制造技术,晶体振荡器存在固定的线性时钟漂移,导致偏置计算的增加(每次数百纳秒,如图3所示。因此在GPS定位之前,最好锁定初始FullBiasNanos的有效值。
Fig. 3. The intermittent drift in smartphone GNSS clock
Android应用程序是用Java编写的,这是很常见的知识。 Java在原始类型之间的转换期间存在缺陷,它可能会导致可能的精度损失。浮动和双重类型用于在存储时减少存储空间而不是保持高精度,频繁转换数据类型操作可能导致相关时间产生纳米级偏差,这可能导致最终定位结果中的几米误差。因此,最好避免使用float或double类型来存储数据,不同数量级之间的转换,例如秒和纳秒的顺序,应该尽可能地集中在软件计算期间的一个操作中。
API级别24还提供了一些不确定性方法来获取GNSS数据的误差估计,为了提高数据的准确性和可信度,我们根据经验设置了一些阈值。
1.getPseudorangeRateUncertaintyMetersPerSecond()<10
2.getReceivedSvTimeUncertaintyNanos()<500
3.伪距> 1e7&伪距<3e7
惯性传感器测量通常用于辅助导航系统,Android操作系统提供了几个有效的传感器API来输出优化数据,例如,getRotationMatrixFromVector方法是获取旋转矩阵R从设备坐标系转换矢量到定义为ENU(东北向上)坐标系的直接标准正交基。SensorManager类还提供传感器类型:TYPE_LINEAR_ACCELERATION,它可以输出指示沿每个设备轴的加速度的三维向量,不包括重力。方法registerListener以给定的采样频率和给定的最大报告延迟为传感器注册SensorEventListener。但采样频率只是系统的一个提示。可以比指定的速率更快或更慢地接收事件。通常会更快地收到事件。因此,旋转矩阵R和加速度A很可能不在相同的频率上,并且一致的速率方法是必要的。还考虑了影响全球导航卫星系统观测的其他误差源,例如由信号传播过程中地球自转引起的相对论效应导致的右击效应,以及导致米级效应的卫星轨道偏心率。所有定位过程均在世界大地测量系统1984(WGS84)坐标系中。将实时定位结果转换为纬度和经度,然后映射到百度SDK。
IV. 实验结果
系统测试方案如表1所示,参考溶液由u-blox m8p RTK模型提供。 智能手机和u-blox m8n一起安装在手持平台上。
静态点测试:
静态点测试在开放区域设置5分钟,井的气象条件使得可见卫星信号的数量足够好。 在这种情况下,PDD的方差仅为4.2米,而使用单个KF模型则为9。 90%的位置误差在3.7米以内,这表示系统不确定性是可接受的,u-blox m8n方差为3.7m,这与智能手机的PDD接近。
动态测试:
运动测试已经执行了大约400s长的道路中间,两侧的树木都是密度但没有建筑物阻挡卫星信号。 由IMU辅助的PDD,没有IMU的PDD和直接单点的错误如图所示。 位置曲线证明了由IMU性能辅助的PDD超过了另外两个模型。 偏差和90%误差概率优于静态测试,经验解释是随机天线运动会减少多径影响,使曲线收敛良好。
地图映射定位结果
高程误差曲线
水平误差曲线
值得注意的是,测试路线的中间是一个开放区域,两侧都没有种植树木,地图上反映的方差和结果也表明这部分明显优于其他部分,这意味着树木密度差对导航信号的影响。 PPD与IMU辅助获得最佳平均解决方案,标准和标准也比没有IMU的PDD稍微降低。比较开路条件下的两个PDD测试结果,融合的IMU功能是不必要的,因为多普勒是决定前向方向的主导因素。
对比实验结果表明,PDD可以显着提高定位精度,在开放条件下偏差可小于3米。水平与高度误差图之间的对比表明水平精度明显精确于高度。在高度误差图中,Ublox误差曲线显示更平滑,平均误差明显低于其他误差曲线,但RTD + IMU与单点无明显差异,这意味着RTD + IMU无法改善高度性能。
信号阻塞测试
还进行了实验以测试GNSS信号被阻挡时的稳健性,在校园隧道中选择场景,100米的道路环境比之前的场景更差。 在道路中间存在两条短隧道,系统选择可见卫星后的有效数小于4,GNSS模型无法独立提供正确的定位信息。 结果表明,直接单点曲线存在严重的变异曲线,而RTD + IMU可以略微释放剧烈漂移并校准固定误差。 它表明基于MEMS的IMU能够协助GNSS,但不足以实现长期可靠性。
在我们的工作中,首先介绍了实验架构,并详细介绍了数据收集和数据处理。 然后,提出了IMU模型辅助的PDD,并阐明了优于传统解决方案的优势。 为了评估智能手机的系统性能,我们在静态,运动和信号阻塞环境中进行了测试,并与商用u-blox m8n模块进行了比较。 为了减轻影响导航信息的外部因素,我们遇到的问题进行了分析,IMU在短时间内提供了有效的补充信息。 我们使用原始GNSS数据初步实现并验证了独立智能手机平台中的实时高精度算法。 比较结果表明,PDD+IMU可以有效提高定位精度。