【如何集成⾼精度定位服务】-⾼精度定位综述


   提到高精度定位服务,可能对大多数开发者都会比较抽象。什么是高精度定位服务,我该如何集成千寻的高精度服务呢?

       高精度定位简介


       传统意义上的卫星定位,一般是通过接收机直接接收卫星信号,通过简单的定位算法获取位置信息,我们常用的手机就是这个原理,这种就是通常意义上的单点定位。


       但实际上,卫星工作受多因素干扰,比如,卫星信号穿过地球对流层、电离层时会发生折射,射到建筑上会发生反射,这都会导致信号传播时间计算有误,继而带来距离计算错误,从而产生几十米的定位误差。为了消除这种误差,一般会采用差分定位,具体来说就是在固定的位置建立一些固定的观测站,同时观测卫星的信号,然后通过观测量建立误差的数学模型,再将差分改正数播发给待测终端。目前通用的RTCM,就是差分改正数的格式。终端根据自己的卫星观测量,结合收到的差分改正数,通过算法可以获得高精度的定位结果,其中最常用的就是RTK(RealTimeKinetic)算法,通过这种算法,定位精度可以达到厘米级。

【如何集成⾼精度定位服务】-⾼精度定位综述_第1张图片 高精度定位误差算法


       千寻全国一张网 


       刚才提到的差分定位技术,就是本文所讲的高精度定位核心。传统的测量测绘应用,往往是自己建立单独的一个基站,通过电台、小无线等本地通信方式,将差分改正数 RTCM 播发给终端。这种方式由于各种限制,只能覆盖很小的区域,无法在大范围使用。目前,千寻位置在全国建立起了超 2400个地基增强站。依托国家北斗地基增强系统“全国一张网”和不断升级的自研算法,千寻位置已可有效克服复杂环境影响,向全国大部分地区提供实时厘米级的高精准定位服务,并可通过互联网平台实现 7*24小时数据播发。因此用户终端只要通过 2G/3G/4G 网络连接千寻服务器,上报自己的概略位置,服务器就会把终端所在位置附近基站差分改正数据下发到终端,用户就可以长时间的获取 RTCM 数据,完成终端侧的高精度定位。用户需要接入千寻服务器获取 RTCM 数据,只要将千寻提供的SDK 集成到自己系统中,输入千寻账号,就可以登录千寻服务器,获取 RTCM数据。 


       终端高精度定位解算


       有了播发的RTCM差分改正数,还需要借助终端侧的RTK解算能力,便可以实现高精度的定位。在整个终端中,通常会有一个2G/3G/4G通信模块,负责与千寻服务器交互,获取数据。那么如何让终端获取RTCM数据呢?答案很简单,在终端侧集成千寻的SDK。     


        SDK(SoftwareDevelopmentKit)软件开发包,是为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件时的开发工具集合,千寻SDK包括了差分数据收发,GNSS算法,账号鉴权以及各种其他的服务。对于不含算法的定位模组,也封装了RTK算法。关于SDK的详细内容,会在下一章节介绍。千寻的SDK包括大量的内容,以很简单的API接口提供给用户。高精度定位的终端中会有处理器或者MCU,用户只要在该处理器上集成千寻SDK,按照流程调用API即可。终端侧都会有定位模组/板卡,通过串口与主控处理器交换定位数据。这类定位模组一般分为两类,一类是内置RTK算法的模组或者专业的RTK板卡,常见型号如U-blox的M8P,F9P,千寻自有的魔方MC110M,以及思南、和芯星通等各种RTK板卡。这类定位终端,高精度位置解算都在定位模组内部,用户只需要在主控处理器上集成千寻差分数据SDK,将RTCM数据通过串口输入即可。这里以110M为例,典型的框图如下:

【如何集成⾼精度定位服务】-⾼精度定位综述_第2张图片 框图1

       还有另一类没有内置RTK算法的模组,最典型如千寻魔方120M。这类模组仅输出原始观测量,这种情况仅靠差分SDK还不够,需要集成内置千寻RTK算法的SDK,使用千寻自有RTK算法,同样非常简便。当然这种方案,由于RTK算法的复杂度,主控处理器的性能不能太差。

       整个过程的框架如下图所示:

【如何集成⾼精度定位服务】-⾼精度定位综述_第3张图片 框图2

       两种方案,千寻都能提供完整的 SDK,用户可以根据需要自由选择。 

你可能感兴趣的:(解决方案)