如何用手机实现高精度导航

「编者按」如果手机能够实现高精度定位,导航再也不出错、位置共享更精确,就连AR游戏都会变得更带感!在攻城狮们的不懈努力下,这样的日子就快来了。

3月2日,武汉大学测绘学院博士陶贤露,带来了一堂题为《基于智能手机GNSS的行人连续定位技术》的北斗智造者线上公开课,分享了基于智能手机开展的卫星及行人惯性导航定位的研究成果。

在读博士研究生期间,陶贤露的研究方向为低成本多源传感器组合导航,他的研究成果曾分别获2017年第八届中国卫星导航学术年会和2018 年全球华人导航定位协会学术论坛优秀论文奖。

陶博士公开课的核心内容如下:

什么是行人导航?

行人导航是指借助专用设备,对个人进行实时的定位和追踪,引导用户快速找到目的地的技术。

行人导航的实现,主要依赖于GNSS和惯性传感器两种数据源。这两种数据源在不同的场景中,各有优势和劣势。

GNSS能够提供绝对定位数据,具有全球、全时可用的特性,在开阔的观测环境下,可以提供精度较好的定位结果。但是,GNSS信号的传播容易受到环境干扰,当多路径效应明显时,定位精度会显著降低,因此在实际应用当中,会有一些不足。

惯性传感器是一种无源导航,主要是利用自身所观测到的信息,进行累积计算获得相对位置变化量。这种定位方式的主要优势是,在GNSS信号缺失的情况下,能够进行位置信息传递,但是主要的问题是存在累积误差,只能短时间使用。

GNSS技术与惯性导航技术优劣互补形成的解决方案,能够更好地满足大众用户全域、无缝的定位需求。

Android带来的新契机

2016年,Android公司宣布开放其操作系统中的GNSS数据,为更高精度的行人导航技术出现奠定了基础。

现在,通过安卓系统的API接口,我们不但可以获得终端的位置、速度、时间信息以及观测卫星的分布情况,还可以获得终端GNSS芯片输出的伪距观测值、相位观测值、多普勒观测值。

大量的原始数据结合有效的算法处理之后,我们就可以在智能手机上,体验到更高精度的位置服务。

手机作为一种被大量应用的多源传感器终端,会给高精度位置服务带来更多的应用场景。

                                       ▲Android系统中开放的数据接口

如何获得GNSS高精度定位?

从Android 7.0以上的智能终端中,我们可以直接编写程序通过接口函数获取到相位、信噪比、多普勒等信息,而伪距观测值需要通过信号传播时间来计算。此外,目前已有的GnssLogger和Geo++RINEX等工具软件,也可以帮助大家记录相应格式的观测数据。

                                       ▲伪距观测值计算

基于上述方法,我们在武汉大学的操场上进行了数据质量评估和定位结果测试,测试过程中, Nexus9的安卓平板作为评估设备,并以诺瓦泰测量型设备的结果作为参考。

                                  ▲实验中的测试设备

数据采集过程中,我们发现Nexus9信噪比数据有比较明显的波动,且相比于测量型设备低约10 dB-Hz,而高精度设备在开阔环境中,信噪比的变化非常有规律且起伏不大,这表明Android GNSS观测数据质量不够稳定。

           ▲信噪比情况

根据数据质量分析的结论,我们针对Android GNSS的数据特性设计了滤波定位算法,使得采用原始观测解算的定位结果更具连续性与平滑性。

                                  ▲滤波算法模型

行人航位推算方法

什么是行人航位推算?人在运动过程中每走一步,脚和地面会有一个接触特征,这种特征是一种规律信息,把这些信息利用起来,就能够得出行人每一步运动的距离,把这个距离累积起来就能够得到行人每时每刻的位置。

基于手机中的MEMS(微机电系统)传感器,可以获得行人每一步运动特征,但是由于传感器会产生有一些观测误差,就要利用行人航位推算技术去进行误差的建模、校正,最终获得更好位置计算结果。

▲基于MEMS的行人导航算法

在实际应用中,将手机GNSS数据与行人航位推算方法相结合,能够达到优势互补,实现用户位置信息的准确、连续解算。目前,武汉大学已经开展了多个相关算法和软件的研发。

发布了7 篇原创文章 · 获赞 6 · 访问量 965

猜你喜欢

转载自blog.csdn.net/qxwz_maker/article/details/105240127
今日推荐