一种Android车载终端导航定位方法及系统与流程

文档序号:30581404发布日期:2022-06-29 12:26阅读:323来源:国知局
一种Android车载终端导航定位方法及系统与流程
一种android车载终端导航定位方法及系统
技术领域
1.本发明涉及车载导航技术领域,尤其涉及一种android车载终端导航定位方法及系统。


背景技术:

2.随着导航技术的快速发展,车载导航应用越来越广泛,尤其是受众面甚多的android系统车载终端。
3.目前,在android系统车载终端高精度导航应用技术中,主要通过rtk(real-time kinematic,实时差分)定位技术来实现高精度定位,从而进一步通过导航软件获取实时的位置定位信息,实现车载导航功能。常用的导航软件,例如高德地图、百度地图等获取定位数据都是通过android系统的类库locationmanager提供接口来获取定位模块解算的坐标信息,但locationmanager并没有提供标准的数据下行接口,无法将车载终端通过ntrip(networked transport of rtcm via internet protocol,通过互联网进行rtcm网络传输的协议)协议从cors(continuously operating reference stations,连续运行参考站)返回的rtcm(the radio technical commission for maritime services,国际海运事业无线电技术委员会)差分数据传输给定位模块,导致定位模块无法实现rtk解算,无法实现高精度位置输出。通常,为了解决这一问题,设备厂商需要花费大量人力成本来定制修改android系统源代码,修改android系统框架framework层和硬件抽象hal层,增加rtcm差分数据下行接口,实现ntrip协议的程序在获取rtcm差分数据后能通过locationmanager调用定制的接口,把差分数据一次通过framework层和hal层,最终传递给定位模块,从而实现定位模块rtk解算,输出高精度位置信息,使导航软件能通过该高精度位置信息获取到车辆的位置信息。
4.可以看出,现有技术中需要定制修改android系统,单独增加rtcm数据下行接口,实现起来难度较大,开发周期长,需要投入的人力较多,且对不同版本的android系统均要做适配性开发,不仅投入成本高,还存在容易造成破坏系统稳定性的风险。


技术实现要素:

5.本发明提供一种android车载终端导航定位方法及系统,用以解决现有技术中android系统车载终端进行导航定位需单独增加数据下行接口以及对系统进行定制化修改,增加开发成本的缺陷。
6.第一方面,本发明提供一种android车载终端导航定位方法,包括:
7.获取国际海运事业无线电技术委员会rtcm差分数据;
8.基于主芯片与定位模块之间的空闲物理串口向所述定位模块写入所述rtcm差分数据,所述定位模块对所述rtcm差分数据进行处理,输出位置信息;
9.根据所述位置信息,基于locationmanager接口从预设导航软件中获取定位数据,获得导航定位结果。
10.根据本发明提供的一种android车载终端导航定位方法,所述获取rtcm差分数据,包括:
11.由主控程序向连续运行参考站cors平台发送通过互联网进行rtcm网络传输协议ntrip认证消息;
12.待认证通过,接收所述cors平台返回的所述rtcm差分数据。
13.根据本发明提供的一种android车载终端导航定位方法,所述基于主芯片与定位模块之间的空闲物理串口向所述定位模块写入所述rtcm差分数据,包括:
14.分别在主芯片上确定第一空闲物理串口,以及所述定位模块上确定第二空闲物理串口;
15.将所述第一空闲物理串口的接收引脚和所述第二空闲物理串口的接收引脚进行并联;
16.由主控程序通过网络接收所述rtcm差分数据后,将所述rtcm差分数据由所述第一空闲物理串口的接收引脚向所述第二空闲物理串口的接收引脚进行传输。
17.根据本发明提供的一种android车载终端导航定位方法,所述定位模块对所述rtcm差分数据进行处理,输出位置信息,包括:
18.待所述定位模块收到所述rtcm差分数据,对所述rtcm差分数据进行实时差分rtk解算,得到所述位置信息。
19.根据本发明提供的一种android车载终端导航定位方法,所述根据所述位置信息,基于locationmanager接口从预设导航软件中获取定位数据,获得导航定位结果,包括:
20.所述定位模块通过发送引脚将所述位置信息发送至安卓硬件抽象andriod hal层;
21.所述andriod hal层通过串口将所述位置信息回调至andriod framework层,所述andriod framework层通过串口将所述位置信息回调至locationmanager接口;
22.从所述locationmanager接口获取下载所述预设导航软件输出的所述定位数据,根据所述定位数据获得所述导航定位结果。
23.第二方面,本发明还提供一种android车载终端导航定位系统,包括:
24.获取模块,用于获取国际海运事业无线电技术委员会rtcm差分数据;
25.第一处理模块,用于基于主芯片与定位模块之间的空闲物理串口向所述定位模块写入所述rtcm差分数据,所述定位模块对所述rtcm差分数据进行处理,输出位置信息;
26.第二处理模块,用于根据所述位置信息,基于locationmanager接口从预设导航软件中获取定位数据,获得导航定位结果。
27.根据本发明提供的一种android车载终端导航定位系统,所述获取模块包括认证子模块和接收子模块,其中:
28.认证子模块用于由主控程序向连续运行参考站cors平台发送通过互联网进行rtcm网络传输协议ntrip认证消息;
29.接收子模块用于待认证通过,接收所述cors平台返回的所述rtcm差分数据。
30.第三方面,本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述android车载终端导航定位方法的步骤。
31.第四方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述android车载终端导航定位方法的步骤。
32.第五方面,本发明还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述android车载终端导航定位方法的步骤。
33.本发明提供的android车载终端导航定位方法及系统,通过串联车载终端主芯片与定位模块之间的空闲物理串口,使定位模块能实时获取到差分数据后能进行数据解算,从而直接从导航软件回调高精度定位数据,获得导航定位结果,避免单独设置下行数据接口和定制开发,节省了人力成本。
附图说明
34.为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
35.图1是本发明提供的android车载终端导航定位方法的流程示意图之一;
36.图2是本发明提供的android车载终端导航定位方法的流程示意图之二;
37.图3是本发明提供的android车载终端导航定位系统的结构示意图;
38.图4是本发明提供的电子设备的结构示意图。
具体实施方式
39.为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
40.图1是本发明提供的android车载终端导航定位方法的流程示意图之一,如图1所示,包括:
41.步骤s1,获取国际海运事业无线电技术委员会rtcm差分数据;
42.步骤s2,基于主芯片与定位模块之间的空闲物理串口向所述定位模块写入所述rtcm差分数据,所述定位模块对所述rtcm差分数据进行处理,输出位置信息;
43.步骤s3,根据所述位置信息,基于locationmanager接口从预设导航软件中获取定位数据,获得导航定位结果。
44.具体地,本发明所针对的均是安装了android系统的车载导航终端,由车载导航终端从cors平台下载获取rtcm数据,选择内部的空闲串口将rtcm数据传递给定位模块,由定位模块对该rtcm数据进行解算处理,得到车辆行驶的位置信息,整体流程逻辑如图2所示。
45.这里的cors平台是利用多基站网络rtk技术建立的连续运行卫星定位服务参考站,cors系统由基准站网、数据处理中心、数据传输系统、定位导航数据播发系统、用户应用系统五个部分组成,各基准站与监控分析中心间通过数据传输系统连接成一体,形成专用网络。
46.可以理解的是,由于设备内部的一组串口不能同时被两个程序同时打开,这样会造成读取数据紊乱,定位模块在android hal层本身就是通过串口协议打开定位模块与android车载终端连接串口,通过串口读取定位模块位置信息数据后,再通过android framework层回调到locationmanager接口,从而所有通过android标准接口locationmanager访问位置信息的程序可以读取到定位信息,基于这一原理和准则,本发明在android车载终端硬件电路上选择一组空闲物理串口,该串口的rx接收引脚与定位模块的rx接收引脚并联,在实现ntrip协议获取rtcm的程序获取到cors站下发的差分数据后,通过打开这组物理串口,通过串口数据的标准写入方式把差分数据写入,由于这组串口和定位模块与android车载终端连接的串口的rx引脚处于并联关系,向该物理串口写入rtcm数据时,定位模块同时也收到了rtcm数据,从而在定位模块内部实现rtk解算,输出位置信息,从而通过locationmanager接口由导航软件获取到高精度定位信息。
47.本发明通过在车载终端内部选择空闲串口的简易方式实现通过导航软件来获取高精度定位信息,无需增加额外的硬件端口,从而降低了高精度导航的门槛,减少开发难度以及工作量。
48.基于上述实施例,该方法步骤s1包括:
49.由主控程序向连续运行参考站cors平台发送通过互联网进行rtcm网络传输协议ntrip认证消息;
50.待认证通过,接收所述cors平台返回的所述rtcm差分数据。
51.具体地,搭载android系统的车载终端通过其安装的主控程序向cors平台发送ntrip认证消息,待认证通过,接收cors平台返回的rtcm差分数据,该数据是实时通过cors平台中安装于路面的多个基准站与车载终端进行交互,通过多个数据之间的差值运算,得到车辆的实时差分数据信息,用于向定位模块提供差分数据进行解算得到精确的位置信息。
52.本发明采用车载终端与cors平台的实时交互获得精准的rtcm差分数据,可用于作为并联串口的打开信号,为后续的定位模块进行数据解算提供精确的输入数据。
53.基于上述任一实施例,该方法步骤s2中的所述基于主芯片与定位模块之间的空闲物理串口向所述定位模块写入所述rtcm差分数据,包括:
54.分别在主芯片上确定第一空闲物理串口,以及所述定位模块上确定第二空闲物理串口;
55.将所述第一空闲物理串口的接收引脚和所述第二空闲物理串口的接收引脚进行并联;
56.由主控程序通过网络接收所述rtcm差分数据后,将所述rtcm差分数据由所述第一空闲物理串口的接收引脚向所述第二空闲物理串口的接收引脚进行传输。
57.具体地,为实现定位模块能接收到rtcm差分数据,本发明在车载终端上选择一组不被系统或其他外设使用的物理串口/dev/ttys0,即第一空闲物理串口,该物理串口通常设置在主芯片上,将/dev/ttys0串口的rx引脚与android设备中的定位模块上的物理串口/dev/ttys1,即第二空闲物理串口的rx引脚通过电路并联在一起。
58.当主控程序收到cors平台返回的rtcm差分数据后,通过串口向主芯片写入rtcm差分数据,同时将串口/dev/ttys0打开,由于定位模块的串口/dev/ttys1与串口/dev/ttys0
并联,则定位模块即接收到rtcm差分数据。
59.本发明通过利用设备中空闲的物理串口实现数据的传输,节省了端口资源,有效提升了数据传输效率。
60.基于上述任一实施例,该方法步骤s2中所述定位模块对所述rtcm差分数据进行处理,输出位置信息,包括:
61.待所述定位模块收到所述rtcm差分数据,对所述rtcm差分数据进行实时差分rtk解算,得到所述位置信息。
62.具体地,定位模块通过串口/dev/ttys1收到rtcm差分数据后,由模块内部进行rtk解算,向android hal层输出高精度的位置信息。
63.rtk解算的原理采用的是载波相位差分gps技术来实时定位的,正是凭借差分改正和载波相位测距两种测量方法才使得动态定位的精度可以达到厘米级。差分gps技术是利用了基准站与流动站之间空间的相关性来进行差分改正的,从而将定位的误差削弱。标准的差分gps原理是将基准站架设在高精度的已知点控制点上,通过基准站单点定位确定测站的位置坐标,然后通过实时定位测得的坐标与控制点坐标的比对,从而确定基准站上的定位误差。
64.本发明中的定位模块通过并联的物理串口接收到rtcm差分数据后,由rtk解算得到精准的位置信息,根据位置信息从导航软件可实时获得导航信息。
65.基于上述任一实施例,该方法步骤s3包括:
66.所述定位模块通过发送引脚将所述位置信息发送至安卓硬件抽象andriod hal层;
67.所述andriod hal层通过串口将所述位置信息回调至andriod framework层,所述andriod framework层通过串口将所述位置信息回调至locationmanager接口;
68.从所述locationmanager接口获取下载所述预设导航软件输出的所述定位数据,根据所述定位数据获得所述导航定位结果。
69.具体地,定位模块通过物理串口上的tx引脚将解算得到的位置信息发送至android hal层,android hal层通过接口回调至andriod framework层。
70.进一步地,andriod framework层再将位置信息回调到locationmanager接口,由导航软件通过该locationmanager接口根据位置信息显示实时的导航定位信息并显示,供车辆参考使用。
71.本发明由andriod hal层和framework层将解算的位置信息回调至locationmanager接口,使得导航软件能获取到高精度的导航定位信息,无需额外的数据下行接口,节省了硬件接口资源和开发成本,确保了导航系统的稳定运行。
72.下面以图2所示的完整流程来说明本发明的方案,如图2所示,以高德地图导航软件为例,包括:
73.步骤1:在车载终端上选择一组不被系统或者其他外设使用的物理串口/dev/ttys0;
74.步骤2:将物理串口/dev/ttys0的rx引脚与android设备内部的定位模块的串口/dev/ttys1的rx引脚通过电路并联在一起;
75.步骤3:在android系统车载设备上的主控程序运行ntrip协议程序,主控程序在收
到rtcm差分数据后,打开串口/dev/ttys0,通过串口写入方式rtcm差分数据;
76.步骤4:定位模块通过物理串口/dev/ttys1的rx接收引脚与/dev/ttys0 rx引脚并联,在/dev/ttys0收到rtcm差分数据同时,/dev/ttys1串口也同时收到了rtcm差分数据,从而定位模块通过串口/dev/ttys1收到rtcm差分数据,进一步定位模块内部进行rtk解算,输出高精度的位置信息;
77.步骤5:定位模块通过串口tx引脚把高精度的位置信息发送到android hal层,android hal层通过接口回调到android framework层,android framework把高精度的位置信息再回调到locationmanager接口,高德地图软件通过locationmanager获取到高精度的导航定位信息。
78.本发明能够在不破坏android系统原生架构情况下,无需增加额外高难度的软件开发工作量,只需要使用一组空闲串口,导航软件即可实现高精度定位,实现起来较为方便快捷,为高精度定位导航应用推广增加动力。
79.下面对本发明提供的android车载终端导航定位系统进行描述,下文描述的android车载终端导航定位系统与上文描述的android车载终端导航定位方法可相互对应参照。
80.图3是本发明提供的android车载终端导航定位系统的结构示意图,如图3所示,包括:获取模块31、第一处理模块32和第二处理模块33,其中:
81.获取模块31用于获取国际海运事业无线电技术委员会rtcm差分数据;第一处理模块32用于基于主芯片与定位模块之间的空闲物理串口向所述定位模块写入所述rtcm差分数据,所述定位模块对所述rtcm差分数据进行处理,输出位置信息;第二处理模块33用于根据所述位置信息,基于locationmanager接口从预设导航软件中获取定位数据,获得导航定位结果。
82.本发明通过在车载终端内部选择空闲串口的简易方式实现通过导航软件来获取高精度定位信息,无需增加额外的硬件端口,从而降低了高精度导航的门槛,减少开发难度以及工作量。
83.基于上述实施例,所述获取模块31包括认证子模块311和接收子模块312,其中:
84.认证子模块311用于由主控程序向连续运行参考站cors平台发送通过互联网进行rtcm网络传输协议ntrip认证消息;接收子模块312用于待认证通过,接收所述cors平台返回的所述rtcm差分数据。
85.本发明采用车载终端与cors平台的实时交互获得精准的rtcm差分数据,可用于作为并联串口的打开信号,为后续的定位模块进行数据解算提供精确的输入数据。
86.图4示例了一种电子设备的实体结构示意图,如图4所示,该电子设备可以包括:处理器(processor)410、通信接口(communications interface)420、存储器(memory)430和通信总线440,其中,处理器410,通信接口420,存储器430通过通信总线440完成相互间的通信。处理器410可以调用存储器430中的逻辑指令,以执行android车载终端导航定位方法,该方法包括:获取rtcm差分数据;基于主芯片与定位模块之间的空闲物理串口向所述定位模块写入所述rtcm差分数据,所述定位模块对所述rtcm差分数据进行处理,输出位置信息;根据所述位置信息,基于locationmanager接口从预设导航软件中获取定位数据,获得导航定位结果。
87.此外,上述的存储器430中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
88.另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,计算机程序可存储在非暂态计算机可读存储介质上,所述计算机程序被处理器执行时,计算机能够执行上述各方法所提供的android车载终端导航定位方法,该方法包括:获取rtcm差分数据;基于主芯片与定位模块之间的空闲物理串口向所述定位模块写入所述rtcm差分数据,所述定位模块对所述rtcm差分数据进行处理,输出位置信息;根据所述位置信息,基于locationmanager接口从预设导航软件中获取定位数据,获得导航定位结果。
89.又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各方法提供的android车载终端导航定位方法,该方法包括:获取rtcm差分数据;基于主芯片与定位模块之间的空闲物理串口向所述定位模块写入所述rtcm差分数据,所述定位模块对所述rtcm差分数据进行处理,输出位置信息;根据所述位置信息,基于locationmanager接口从预设导航软件中获取定位数据,获得导航定位结果。
90.以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
91.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
92.最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1