首页> 中国专利> Android平台北斗高精度定位控制系统

Android平台北斗高精度定位控制系统

摘要

本发明提出了一种Android平台北斗高精度定位控制系统,包括数据交换层,系统框架层、硬件适配层、驱动层和北斗模块;数据交换层与系统框架层连接,系统框架层与硬件适配层连接,硬件适配层与驱动层连接,驱动层与北斗模块连接。数据交换层用于与服务器交换差分数据,系统框架层用于接收数据交换层发出的广播,并解析出差分数据,发送给硬件适配层;硬件适配层用于接收系统框架层的差分数据并进行数据下发;驱动层用于系统与北斗模块之间收发数据。本发明兼容支持多家高精度差分数据提供商接入,为客户提供更多服务商的选择。无需集成高精度服务商SDK,第三方应用无需二次开发即可使用系统级北斗高精度位置服务。

著录项

  • 公开/公告号CN114814913A

    专利类型发明专利

  • 公开/公告日2022-07-29

    原文格式PDF

  • 申请/专利权人 大唐终端技术有限公司;

    申请/专利号CN202210410955.9

  • 发明设计人 林靖明;

    申请日2022-04-19

  • 分类号G01S19/42;G01S19/41;

  • 代理机构北京中企鸿阳知识产权代理事务所(普通合伙);

  • 代理人高向华

  • 地址 100094 北京市海淀区永嘉北路6号

  • 入库时间 2023-06-19 16:08:01

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2022-07-29

    公开

    发明专利申请公布

说明书

技术领域

本发明涉及导航定位技术领域,特别涉及一种Android平台北斗高精度定位控制系统。

背景技术

Android是一种基于Linux的自由及开放的操作系统,主要用于移动设备,如智能手机和平板电脑,目前已成为最大的手机软件平台。近年来,基于Android系统的行业终端越来越多地服务于政府部门和石油化工、煤炭、水利、电力、铁路、公路、航空等国民经济重要领域。随着我国北斗卫星导航系统的建设和发展,在农业、交通运输、海洋渔业、水文监测、气象预报、测绘地理信息、森林防火、通信系统、电力调度、救灾减灾、应急搜救等领域越来越多地使用北斗系统进行定位和导航,对位置服务的精度要求也越来越高。受大气层、多径效应、可见卫星数量与几何分布、卫星钟差、卫星轨道差和人为干扰等因素的影响,普通民用定位服务精度仅能达到10米左右,无法满足行业用户的要求。地基增强系统采用差分技术来实现高精度定位,利用多台接收机进行同步观测,利用参考站已知的精确位置,通过观测值之间做单差或双差消除部分干扰因素的影响,从而达到提高定位精度的目的。

为及时准确地获得差分数据,移动终端需要实时将自身的位置信息数据通过无线网络发送至差分服务商的数据中心,数据中心根据用户请求生成用户的差分改正信息,并将差分改正信息发送至移动终端。服务商提供业务数据之前需要进行用户身份认证,每个服务商的认证方式各不相同。另外,在接收用户位置信息的格式等方面也各有不同的要求。作为通用行业终端,需要兼容支持多个高精度差分服务商提供的服务,为行业用户提供多种选择,是需要解决的技术问题。

移动终端接收到服务商的差分数据,需要经过系统架构层、硬件适配层和驱动层的转发,最后通过串口通信方式将数据下发给北斗模块。在Android平台中已有一套原生的GPS数据传输机制,如何利用现有的数据通道传输外置北斗模块所需的差分修正信息,以提高利用率,是移动终端需要解决的关键技术问题。

发明内容

本发明的目的旨在至少解决所述技术缺陷之一。

为此,本发明的一个目的在于提出一种Android平台北斗高精度定位控制系统,以解决背景技术中所提到的问题,克服现有技术中存在的不足。

为了实现上述目的,本发明一方面的实施例提供一种Android平台北斗高精度定位控制系统,包括数据交换层,系统框架层、硬件适配层、驱动层和北斗模块;数据交换层与系统框架层连接,系统框架层与硬件适配层连接,硬件适配层与驱动层连接,驱动层与北斗模块连接。

数据交换层用于与服务器交换差分数据,系统框架层用于接收数据交换层发出的广播,并解析出差分数据,发送给硬件适配层;硬件适配层用于接收系统框架层的差分数据并进行数据下发;驱动层用于系统与北斗模块之间收发数据。

数据交换层包括账号配置模块、服务器交互模块、位置信息采集模块和差分数据下发模块;账号配置模块用于配置管理服务器中的信息;位置信息采集模块用于采集当前位置信息;服务器交互模块用于控制系统与服务器之间的信息交互;差分数据下发模块用于接收服务器交互模块收到的差分数据,将差分数据发送给系统框架层。

优选的是,账号配置模块用于配置服务器的IP地址、管理端口信息、挂载点信息、用户账号和密码信息。

在上述任一方案中优选的是,服务器交互模块用于控制系统与服务器之间连接与断开和账号信息认证,定期向服务器发送本地定位信息,实时接收服务器回应的差分数据。

在上述任一方案中优选的是,服务器交互模块包括系统服务单元、任务管理单元和Ntrip组件。

在上述任一方案中优选的是,系统服务单元用于接收系统广播并实例化任务管理来进行流程控制。

在上述任一方案中优选的是,任务管理单元用于控制业务流程,检测系统位置服务开关、外置北斗开关、高精度设置开关和网络连接状态,申请与释放系统唤醒锁,通过系统位置服务管理者注册与注销位置更新监听器、Nmea监听器和位置服务状态变化监听器,通过NTrip组件管理差分数据的接收账户和向服务器发送GGA位置信息数据。

在上述任一方案中优选的是,Ntrip组件包括NTrip管理单元14、NTrip设置单元和Ntrip交互单元。

NTrip管理单元14用于管理差分数据接收账号,通过异步任务机制运行NTrip交互单元,定期向服务器发送GGA位置信息。

NTrip设置单元用于管理不同服务商数据,差异化管理账号和认证信息。

NTrip交互单元用于服务器的数据交互,通过状态机控制业务流程。

在上述任一方案中优选的是,NTrip交互单元包括以下流程:

首先,连接服务器,使用账号配置模块的服务器IP地址和端口,此时状态为正在连接服务器状态,当服务器连接成功后,此时状态变为已成功连接服务器状态。

其次,使用账号配置模块的账号、密码和挂载点信息,根据不同的服务商账号设置,生成不同的认证信息,发送给服务器,此时状态为未认证状态,如果服务器返回数据中包含认证成功的信息,表示认证成功,此时状态转为认证已成功。

其次,向服务器发送GGA位置信息,最后,接收差分数据。

在上述任一方案中优选的是,NTrip交互单元向服务器发送GGA位置信息时将采集到的NMEA语句头尾去掉空白字符和换行符,再加上一个换行符发给服务器,控制向服务器发送数据的频率为至少一秒的间隔。

在上述任一方案中优选的是,硬件适配层包括抽象接口、服务接口和模块接口,抽象接口用于定义差分数据接口,服务接口用于数据转换和调用模块接口,模块接口用于串口写入,实现差分数据下发任务。

在上述任一方案中优选的是,差分数据下发模块包括:首先,进行系统广播定义,其次,设置广播携带的差分数据,其次,设置广播携带的差分数据的长度,最后,发送系统广播。

在上述任一方案中优选的是,系统框架层包括:首先接收差分数据,其次,提取差分数据长度,最后将差分数据下发到硬件适配层。

与现有技术相比,本发明所具有的优点和有益效果为:

1、本发明的一种Android平台北斗高精度定位控制系统,兼容支持多家高精度差分数据提供商接入,为客户提供更多服务商的选择。无需集成高精度服务商SDK,第三方应用无需二次开发即可使用系统级北斗高精度位置服务,兼容性好,定位精度高。

2、本发明的一种Android平台北斗高精度定位控制系统,服务器交互模块运行在数据交换层服务中,系统开机、移动数据网络变化、系统时间变化等情况触发后台启动,单点定位后自动连接服务器进行用户认证与数据收发,处理效率高。

3、基于Android平台原有定位数据传输机制,在系统框架层、硬件适配层增加外置北斗模块差分数据下发的接口,成本低。

本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。

附图说明

本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:

图1为根据本发明实施例一种Android平台北斗高精度定位控制系统流程结构图;

图2为根据本发明实施例一种Android平台北斗高精度定位控制系统数图1中所示的数据交换层结构图;

图3为根据本发明实施例一种Android平台北斗高精度定位控制系统图2中所示的服务器交互模块结构图;

图4为根据本发明实施例一种Android平台北斗高精度定位控制系统中NTrip组件与服务器交互结构图;

图5为根据本发明实施例中的高速公路上盘桥行驶轨迹卫星图;

图6为根据本发明实施例中的高速公路上匝道行驶轨迹卫星图;

图7为根据本发明实施例中的高速公路上箭庭桥行驶轨迹卫星图;

图8为根据本发明实施例中小牛坊桥驶出高速公路行驶轨迹卫星图;

图9为根据本发明实施例中小牛坊桥驶入高速公路行驶轨迹卫星图;

图10为根据本发明实施例中辅路出入口行驶轨迹卫星图;

图11为根据本发明实施例中右转弯专用车道行驶轨迹卫星图;

图12为根据本发明实施例中左转弯专用车道行驶轨迹卫星图;

图13为根据本发明实施例中驶入大门行驶轨迹卫星图;

图14为根据本发明实施例中严重拥堵路段行驶轨迹卫星图;

图15为根据本发明实施例中狭窄道路对比行驶轨迹卫星图;

图16为根据本发明实施例中北清路行驶轨迹卫星图;

图17为根据本发明实施例中北五环箭亭桥南G7高速公路掉头行驶轨迹卫星图;

图18为根据本发明实施例中民族园西路行驶轨迹卫星图。

具体实施方式

下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。

如图1、图2所示,本发明实施例的一种Android平台北斗高精度定位控制系统,包括数据交换层1,系统框架层2、硬件适配层3、驱动层4和北斗模块5;数据交换层1与系统框架层2连接,系统框架层2与硬件适配层3连接,硬件适配层3与驱动层4连接,驱动层4与北斗模块5连接;

数据交换层1用于与服务器6交换差分数据,系统框架层2用于接收数据交换层1发出的广播,并解析出差分数据,发送给硬件适配层3;硬件适配层3用于接收系统框架层2的差分数据并进行数据下发;驱动层4用于系统与北斗模块5之间收发数据。

数据交换层1包括账号配置模块10、服务器交互模块8、位置信息采集模块7和差分数据下发模块9;账号配置模块10用于配置管理服务器6中的信息;位置信息采集模块7用于采集当前位置信息;服务器交互模块8用于控制系统与服务器6之间的信息交互;差分数据下发模块9用于接收服务器交互模块8收到的差分数据,将差分数据发送给系统框架层2。

服务器交互模块8分别与位置信息采集模块7、差分数据下发模块9和账号配置模块10连接。位置信息采集模块7将位置信息发送到服务器交互模块8中,服务器交互模块8再将位置信息发送到服务器6中,服务器6将差分数据发送到服务器交互模块8中,服务器交互模块8再将差分数据下发到差分数据下发模块9中。

本发明实施例的一种Android平台北斗高精度定位控制系统在Android平台上实现了北斗高精度定位服务,集成了账号管理,位置信息采集,服务器6认证与数据传输,差分数据下发到外置北斗定位模块等全部功能,兼容性好,定位精度高,满足不同用户的使用。

具体的,账号配置模块10用于配置服务器6的IP地址,对端口信息、挂载点信息、个人用户账号和密码信息管理,提供信息的输入、修改和保存功能。其结果保存在用户空间内,用于服务器交互模块8连接服务器6和账号认证。

具体的,服务器交互模块8用于提供服务器6连接、用户认证、位置信息发送和差分数据接收等关键功能。在系统开机、网络连接状态变化、系统时间改变等情况下,根据位置信息服务开关和外置北斗模块5开关的状态和当前定位信息,自动完成业务流程。位置信息采集模块7用于获取当前定位信息,差分数据下发模块9将从服务器6接收到的差分数据下发给系统框架层2。北斗模块5解算出高精度结果后,自动更新上报结果。

位置信息采集模块7负责本地位置信息采集,通过注册Nmea监听,可以获得Nmea语句信息,将特定开头语句过滤出来,具体的为将$GNGGA、"$BDGGA或$GPGGA开头的语句过滤出来,解析语句内容,根据定位质量数值判断决定是否已经定位成功。如果定位质量为0,表示未定位,不发送GGA数据;如果定位质量大于0,表示定位成功,通过NTrip管理启动业务流程。对采集到的GGA数据要进行频率限制,控制在一秒之内不再采集,即频率在一秒的间隔。

进一步的,服务器交互模块8用于控制终端与服务器之间的连接与断开、账号信息认证,定期向服务器6发送本地定位信息,实时接收服务器6回应的差分数据。

如图3所示,服务器交互模块8包括系统服务单元11、任务管理单元12和Ntrip组件13;

系统服务单元11用于进行任务管理的流程控制;系统服务单元11是整个服务器交互模块8的基础,保持后台运行,实例化任务管理来进行流程控制。

系统服务单元11接收系统广播,启动系统服务;当系统出现开机、网络连接状态改变、系统日期时间改变、位置信息服务开关打开/关闭、外置北斗模块5打开/关闭等情况,系统服务单元11都会收到系统广播。

任务管理单元12用于控制业务流程。包括检测系统位置服务开关、外置北斗开关、高精度设置开关和网络连接状态,申请与释放系统唤醒锁,通过系统位置服务管理者注册与注销位置更新监听器、Nmea监听器和位置服务状态变化监听器,通过NTrip组件13管理差分数据的接收账户,分别注册与注销差分数据的接收账户,向服务器发送GGA位置信息数据。

具体的,Ntrip组件13包括NTrip管理单元14、NTrip设置单元15和Ntrip交互单元16;

NTrip管理单元14用于管理差分数据接收账号,注册和注销差分数据接收账号,通过异步任务机制运行NTrip单元,定期向服务器发送GGA位置信息;

NTrip设置单元15用于管理不同服务商数据,差异化管理账号和认证信息。

对于星舆服务器,User-Agent中需要包含:NTRIP StarCart Android-SDK/1.0。

对于千寻位置服务器,User-Agent中需要包含:NTRIP_QX TRACK_随机数,另外还要设置SDK类型为ANDROID_RTCM_SDK,SDK版本号为2.1.5。

进一步的,如图4所示,NTrip交互单元16用于服务器的数据交互,通过状态机控制业务流程,具体状态如下:

NTRIP_STATUS_NONE:表示无状态,即处于空闲状态。

NTRIP_AUTHORIZED:表示账号认证通过,可以向服务端发送GGA位置信息。

NTRIP_UNAUTHORIZED:表示未认证或认证失败,账号过期或账号或密码不正确。

NTRIP_CONNECTING:表示正在连接服务器,已向服务器发起连接请求,等待服务器回应。

NTRIP_CONNECTED:表示已连接到服务器,可以向服务器发送认证信息。

NTRIP_DISCONNECTED:表示已断开,需要重新连接。

具体数据交互流程包括:首先,连接服务器,使用账号配置模块10的服务器IP地址和端口,此时状态为正在连接服务器状态(NTRIP_CONNECTING),当服务器连接成功后,此时状态变为已成功连接服务器状态(NTRIP_CONNECTED)。

其次,进行用户认证,使用账号配置模块10的账号、密码和挂载点信息,根据不同的服务商账号设置,生成不同的认证信息,发送给服务器,此时状态为未认证状态(NTRIP_UNAUTHORIZED),如果服务器返回数据中包含认证成功的信息,认证成功信息标记为“200OK”,当包含“200OK”信息时表示认证成功,此时状态转为认证已成功(NTRIP_AUTHORIZED)。

其次,向服务器发送GGA位置信息,最后,接收差分数据,当收到服务器的差分数据后,直接调用onRtcmDatachanged接口函数。

具体的,向服务器发送GGA位置信息时将采集到的NMEA语句头尾去掉空白字符和换行符,再加上一个换行符发给服务器,控制向服务器发送数据的频率为至少一秒的间隔。

向服务器发送GGA位置信息,不同的Android平台对NMEA语句的结束符处理方式有所不同。为保证发送给服务器的语句仅包含一个换行符,需要将采集到的NMEA语句头尾去掉空白字符和换行符,再加上一个换行符之后发给服务器,这样可以避免无法收到服务器差分数据的问题。另外,需要控制向服务器发送数据的频率,一般地,控制在一秒之内不再发送,即控制向服务器发送数据的频率为至少一秒的间隔。服务器具体为差分服务器。可选的北斗模块5采用型号为MXT906A定位模块或MXT906B定位模块。对于Android7及以上的平台,根据新增功能的需要,增加SELinux系统权限配置。

差分数据下发模块负责接收服务器交互模块收到的差分数据,通过系统广播的方式将差分数据发送给系统框架层(Framework),具体步骤如下:

首先定义系统广播,动作名称为ACTION_SET_DGNSS,具体定义如下:

Intent intent=new Intent(Constants.ACTION_SET_DGNSS);

其次,设置广播携带的差分数据,具体格式如下:

intent.putExtra("dgnss-data",rtcmData.getBuffer());

其次,设置广播携带的差分数据的长度,具体格式如下:

intent.putExtra("dgnss-len",rtcmData.getBuffer().length);

最后,发送系统广播,具体格式如下:

mContext.sendBroadcast(intent)。

系统框架层(Framework)在安卓系统的定位服务提供者(GnssLocationProvider)中,接收广播,解析出差分数据,如果差分数据不为空,则调用本地函数SendBeiDouDgnss,发给Java本地接口,即JNI函数的实现,具体步骤如下:

首先,接收差分数据。

其次,提取出差分数据的长度。

其次,判断差分数据是否为空值,如果不为空值,则调用安卓系统中的SendBeiDouDgnss函数将差分数据下发到Java本地接口,即JIN函数实现。

将差分数据下发到Java本地接口(JNI)的函数包括:判断差分数据是否为空值,或者差分数据长度是否小于零,如果拆分数据不为空值,或差分数据长度大于零,则调用本地函数native_set_dgnss将差分数据下发到Java本地接口,即JIN函数实现,如果差分数据为空值,或差分数据小于零,则执行函数返回。

具体的,在系统框架层中进行java与c++接口函数转换处理,以方便安卓系统内部进行函数处理,具体为:

首先,在安卓系统的com_android_server_location_GnssLocationProvider.cpp文件中增加下发差分数据接口函数android_location_GnssLocationProvider_set_dgnss。

最后,将本地函数native_set_dgnss映射为:

android_location_GnssLocationProvider_set_dgnss,具体格式如下:

{"native_set_dgnss","([BI)I",reinterpret_cast(android_location_Gnss LocationProvider_set_dgnss)}。

具体的,JNI函数的具体实现过程为:首先,对函数进行定义,格式如下:

static jint android_location_GnssLocationProvider_set_dgnss(JNIEnv*env,jobject obj,jbyteArray dgnss,jint length)。

其次,判断mGnssDttSetDgnss函数指针定义是否为空值,如果不为空,则执行下一步,如果为空,则返回。

其次,进行差分数据指针转换,将Java类型的数据转换为JNI数据类型jbyte。

其次,执行执行安卓系统中的setDgnssData函数,将差分数据下发到硬件适配层:

最后,释放内存。

进一步的,硬件适配层由抽象接口、服务接口和模块接口三层结构实现差分数据下发任务。

抽象接口用于定义下发差分数据接口setDgnssData函数。新增加一个接口文件IGnssDttSetDgnss.hal,专门用于定义下发差分数据接口函数setDgnssData,具体包括:

首先,定义setDgnssData函数,一个参数为字符串类型用于传递差分数据,另一个为32位整数型用于传递差分数据长度。

其次,在安卓系统中现有的IMtkGnss.hal文件中的IMtkGnss接口,增加一个get函数getExtensionGnssDttSetDgnss。

最后,进行软件编译配置。在Android.bp文件中,将IGnssDttSetDgnss.hal添加到hidl_interface的srcs字段中,这样,新增加的差分数据接口文件IGnssDttSetDgnss.hal即可参加系统编译。

具体的,服务接口用于数据转换和调用模块接口,具体包括:

首先,增加类定义文件GnssDttSetDgnss.h,定义GnssDttSetDgnss类,公共继承于IGnssDttSetDgnss接口,类定义中声明下发差分数据函数setDgnssData,声明一个私有的接口指针mGnssDgnssIface。

其次,增加类实现文件GnssDttSetDgnss.cpp,实现setDgnssData函数,输入参数为差分数据和差分数据长度。

其次,判断接口指针是否为空。如果不为空,则创建新的内存,长度与差分数据长度相同。

其次,获取差分数据内存地址。

其次,将差分数据复制到新的内存中。

其次,调用set_dgnss函数将差分数据下发到模块接口。

最后,释放内存。

在安卓系统现有的MtkGnss.cpp文件中,提供接口的get函数

getExtensionGnssDttSetDgnss,实现数据传递,具备包括:

首先,判断北斗接口函数指针是否为空值,如果不为空,则执行下一步,如果为空,则执行返回。

其次,判断差分数据下发函数接口是否为空值,如果为空,则通过get_extension函数指定参数DTT_BEIDOU_DGNSS_INTERFACE获得差分数据下发函数接口。

最后,判断差分数据下发函数接口是否为空值,如果为空,则返回,否则通过差分数据下发函数接口生成差分数据下发函数对象。

进一步的,模块接口用于串口写入,具体实现差分数据下发任务,具体包括:

首先,在安卓系统的locBD.c中,初始化差分数据下发接口结构体sDttSetDgnssInterface,内容包括结构体大小、初始化函数loc_dgnss_init和差分数据下发函数指针loc_set_dgnss_data。

其次,通过函数loc_set_dgnss_data和send_dgnss_command向模块下发差分数据:

其次,差分数据下发实现函数loc_set_dgnss_data有两个输入参数,无符号字符指针的差分数据和整数类型的差分数据长度。

其次,判断差分数据是否为空值,同时判断差分数据长度小于指定长度,对符合要求的执行下一步,对不符合要求的直接返回。

其次,判断差分数据长度是否大于规定大小,如果超过规定数据长度,则将长度修改为规定数据长度。

其次,初始化本地差分数据结构体变量,将其全部成员数据清零。

其次,将差分数据复制到本地差分数据结构体的data成员变量中,其长度为差分数据长度。

其次,在差分数据尾部填补结束符'\r'和'\n'。

其次,将本地差分数据结构体长度变量值增加2。

其次,本地差分结构体新数据标记变量设置为1。

最后,调用下发差分数据命令函数send_dgnss_command,将差分数据下发给驱动层。

下发差分数据命令函数定义为static void send_dgnss_command(void),具体包括:

首先,判断本地差分数据新标记是否为“1”,如果为“1”则执行下一步;如果不为“1”则返回。最后,通过套接字写入函数将差分数据写入到驱动层,指定超时和重试条件。

进一步的,驱动层通过预定义串口ttyS1,实现安卓系统与北斗模块之间串口数据的收发。具体定义如下:

#define BD_TTY_DEVICE_NAME "ttyS1"

#define GPS_POWER_NAME "/sys/aeon_mode/aeon_mode"

#define MODULE_MODE_PARA "persist.sys.outside_mode"

本发明工作原理为:将差分服务器布置在实施定位的环境范围内,数据交换层与差分服务器进行连接认证,连接认证成功后,数据交换层接收来自服务器的差分数据,再下发给系统框架层,系统框架层解析出差分数据后发送给硬件适配层,硬件适配层实现差分数据的串口转换和写入,将差分数据下发到驱动层,驱动层将差分数据发送到北斗模块中,北斗模块经过校正运算出位置信息,再将信息发送到驱动层中,驱动层再将信息反馈到硬件适配层中,硬件适配层再将信息上报到系统框架层中,系统框架层再将位置信息发送到数据交换层中,数据交换层将位置信息发送到服务器中,服务器再将差分数据下发,如此循环往复,北斗模块不断的校正位置信息,这样就能够得到更加精确的定位信息。

作为本发明实施例的应用,下面将结合具体现实应用来进行测试与对比。

一、高精度测试,针对机动车驾驶过程中盘桥转弯、匝道出入、狭窄道路等多种复杂路况进行了多轮路测。通过抓取系统log,提取NMEA位置信息数据,在Google高清晰卫星地图上逐点划线,每隔10秒标注详细信息点。

1、盘桥行驶,如图5所示,上清桥,由G6高速公路上北五环主路,行驶轨迹与地图显示的环形道路贴合度较高。

2、匝道行驶,马甸桥,由北三环上G6高速公路,行驶轨迹如图6所示。

3、箭亭桥行驶,由北五环上G7高速公路,行驶轨迹如图7所示。

4、小牛坊桥行驶,驶出G7高速公路,经桥下左转弯驶入北清路,行驶轨迹如图8所示。

5、小牛坊桥行驶,北清路右转弯驶入G7高速公路,行驶轨迹如图9所示。

6、辅路出入口行驶:北清路由东向西驶出主路驶入辅路,立即由辅路再驶入北清路主路,行驶轨迹如图10所示。

7、右转弯专用车道行驶:北清路-永泽北路交叉路口,由东向北右转,由北清路右转专用道靠右转弯驶入北泽路,行驶轨迹如11所示。

8、左转弯专用车道行驶:北清路-永泽北路交叉路口,由北向东左转,由北泽路左转专用道靠左转弯驶入北清路,行驶轨迹如12所示。

9、驶入大门:永嘉北路6号,靠右侧进入大门,行驶轨迹如图13所示。

10、严重拥堵路段行驶:北五环箭亭桥,G7高速公路与北五环连接匝道,下班时段拥堵严重,测试车辆由北向南,靠左侧第一车道行驶,行驶轨迹如图14所示。

二、使用G70作为对比机,与测试机车载天线放在同一水平位置,对比机不启动高精度定位功能。红色轨迹为测试机高精度轨迹,蓝色未开启高精度的轨迹。

1、狭窄道路对比:丰慧东路,测试车辆由西向东行驶,行驶轨迹如图15所示,对比机轨迹显示逆行,其中“P”标识为普通的定位软件定位轨迹,“i”标识的为本发明的定位轨迹,由图15可知,“i”标识的轨迹的定位精度更高。

2、辅路出入口对比:北清路,由东向西驶出主路驶入辅路,立即由辅路再驶入北清路主路,测试车辆一直靠右行驶,高精度结果与线路符合程度较高,行驶轨迹如图16所示。

3、高速公路掉头处对比:北五环箭亭桥南G7高速公路掉头处,由北向南靠右车道行驶,掉头后靠左第一车道行驶,高精度结果与线路符合程度较高,行驶轨迹如图17所示,其中“P”标识为普通的定位软件定位轨迹,“i”标识的为本发明的定位轨迹,由图17可知,“i”标识的轨迹的定位精度更高。

4、高层建筑遮挡对比:民族园西路,由西向东第一车道行驶,高精度结果与线路符合程度较高,行驶轨迹如图18所示,对比机轨迹显示逆行,其中“P”标识为普通的定位软件定位轨迹,“i”标识的为本发明的定位轨迹,由图18可知,“i”标识的轨迹的定位精度更高。

与现有技术相比,本发明相对于现有技术具有以下有益效果:

基于Android系统现有的GPS数据传输通道,在系统应用层增加数据交换服务;在系统框架层、硬件适配层和驱动层增加相应的数据接口,用于差分数据下发给北斗定位模块。节约更多的空间资源,从而节省更多的成本,利用率高,定位精度高,兼容支持多个高精度差分服务商提供的服务,为行业用户提供多种选择。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。

本领域技术人员不难理解,本发明包括上述说明书的发明内容和具体实施方式部分以及附图所示出的各部分的任意组合,限于篇幅并为使说明书简明而没有将这些组合构成的各方案一一描述。凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在不脱离本发明的原理和宗旨的情况下在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。本发明的范围由所附权利要求及其等同限定。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号