定位导航方法、电子设备及可读存储介质与流程

文档序号:31958971发布日期:2022-10-28 22:58阅读:59来源:国知局
1.本技术涉及导航定位
技术领域
:,具体涉及一种定位导航方法、电子设备及可读存储介质。
背景技术
::2.随着卫星定位导航技术的不断发展以及智能手机的硬件配置越来越高,卫星导航(globalnavigationsatellitesystems,gnss)定位功能已成为智能手机的基本功能。现有手机芯片大都集成了gnss基带信号处理器,能够对卫星信号进行实时捕获和跟踪,并基于例如实时动态(realtimekinematic,rtk)技术并通过差分算法进行高精度定位。3.目前,基于rtk技术进行高精度定位的方案主要有两种:第一种,将差分算法和从卫星接收到的观测量数据都集成到手机芯片,芯片调用差分算法和观测量数据用于差分解算,并得到定位结果,这种方案对芯片的依赖性很强,差分算法的自主开发性较差,使得原始设备制造商(originalequipmentmanufacturer,oem)或手机厂商难以自由开发并植入第三方算法。第二种,将差分算法与观测量数据隔离开来,芯片输出观测量数据,而将差分算法集成在框架层,框架层调用观测量数据和差分算法进行差分解算,并得到定位结果,但是,该方案将差分算法和观测量数据上移到框架层,会增加系统功耗,并且该方案不利于将差分算法与芯片获取的传感数据的深度融合,影响定位精度。技术实现要素:4.有鉴于此,本技术提供一种定位导航方法、电子设备及可读存储介质,以改善现有定位方法存在差分算法的自主开发性较差、系统功耗高以及差分算法与传感数据融合度差的问题。5.本技术第一方面提供一种定位导航方法,包括:6.s1:接收位置服务器播发的差分数据;7.s2:从卫星接收观测量数据;8.s3:处理器从传感集线器调用第一差分算法;9.s4:处理器采用第一差分算法,并根据差分数据和观测量数据进行差分解算,得到定位结果。10.在一些实例中,步骤s3还包括:处理器从传感集线器调用传感数据;步骤s4包括:处理器采用第一差分算法并根据差分数据、观测量数据和传感数据进行差分解算,得到定位结果;和/或,定位导航方法还包括:s5:处理器根据传感数据进行预设信息的输出。11.在一些实例中,传感数据包括:气压、温度、湿度、光强、加速度、速度、磁场强度、磁场方向、所处环境的图像、所处环境中的人脸数据、心率中的至少一种。12.在一些实例中,处理器具有第二差分算法,在步骤s4中,处理器根据第一差分算法和/或第二差分算法进行差分解算,以得到定位结果。13.在一些实例中,步骤s1之后,且步骤s3之前,定位导航方法还包括:将差分数据中的原子时间转换成世界时间;以及,判断世界时间与本地世界时间是否相同;若相同,则执行步骤s3。14.在一些实例中,步骤s2之后,且步骤s3之前,定位导航方法还包括:判断是否满足第一预设事件和/或第二预设事件,第一预设事件为发送观测量数据的卫星的数量大于或等于第一预设阈值,第二预设事件为卫星信号的载波噪声功率谱密度比大于或等于第二预设阈值;若满足,则执行步骤s3。15.本技术第二方面提供一种电子设备,包括:第一接收单元、第二接收单元、传感集线器及处理器。第一接收单元用于接收服务器播发的位置差分数据;第二接收单元用于从卫星接收观测量数据;传感集线器用于存储第一差分算法;处理器用于从传感集线器调用第一差分算法;以及,采用第一差分算法,并根据差分数据和观测量数据进行差分解算,得到定位结果。16.在一些实例中,电子设备还包括传感器,用于采集当前环境的传感数据,与传感集线器连接。处理器还用于从传感集线器调用传感数据,以及,采用第一差分算法并根据差分数据、观测量数据和传感数据进行差分解算,得到定位结果;和/或,根据传感数据输出预设信息。17.在一些实例中,电子设备包括手持式终端、车载导航设备、可穿戴设备中的任一种。18.本技术第三方面提供一种可读存储介质,可读存储介质存储有程序,程序被处理器调用时执行上述任一项定位导航方法的步骤。19.在本技术的定位导航方法、电子设备及可读存储介质中,将第一差分算法植入传感集线器中,处理器(例如手机芯片)调用第一差分算法,并根据差分数据和观测量数据进行差分解算,以实现定位导航,即差分算法植入在传感集线器中,能够提高差分算法的自主开发性,并且,差分解算在处理器中执行,差分算法与处理器调用的传感数据可以在处理器中深度融合,利于改善定位精度,另外,差分算法仅上调至处理器中而无需上调至系统的框架层,能够降低系统功耗。附图说明20.图1是本技术第一实施例的定位导航方法的流程示意图;21.图2是本技术的电子设备一实施例的操作系统架构图;22.图3是本技术第二实施例的定位导航方法的流程示意图;23.图4是本技术第三实施例的定位导航方法的流程示意图;24.图5是本技术第四实施例的定位导航方法的流程示意图;25.图6是本技术第五实施例的定位导航方法的流程示意图;26.图7是本技术第六实施例的定位导航方法的流程示意图;27.图8是本技术一实施例的电子设备的结构示意图。具体实施方式28.本技术实施例提供的定位导航方法,将执行定位的差分算法植入传感集线器中,而非集成在处理器(例如芯片)中,处理器调用差分算法,并根据差分数据和观测量数据进行差分解算,得到定位结果。29.为使本技术的目的、技术方案和优点更加清楚,下面将结合实施例及附图,对本技术技术方案进行清楚地描述。显然,所描述实施例仅是一部分实施例,而非全部。基于本技术中的实施例,在不冲突的情况下,下述各个实施例及其技术特征可以相互组合。30.需要说明的是,在本技术的描述中,虽然采用了诸如s1、s2等步骤代号,其目的是为了更清楚简要地表述相应内容,并不构成顺序上的实质性限制,本领域技术人员在具体实施时,可能会先执行s2后执行s1等,但这些均属于本技术的保护范围之内。31.请参阅图1,为本技术一实施例的定位导航方法的流程示意图。本实施例的定位导航方法可包括如下步骤s1至s4。32.s1:接收位置服务器播发的差分数据。33.s2:从卫星接收观测量数据。34.s3:处理器从传感集线器调用第一差分算法。35.s4:处理器采用第一差分算法,并根据差分数据和观测量数据进行差分解算,得到定位结果。36.该方法的执行主体可以为电子设备,在实际场景中,电子设备的具体表现形式,本技术不予以限制,例如包括但不限于:手机、平板电脑、笔记本电脑、掌上电脑、个人数字助理(personaldigitalassistant,pda)、便捷式媒体播放器(portablemediaplayer,pmp)等手持式终端;车载导航设备;可穿戴设备等具有相应功能的移动终端。37.该定位导航方法通过将第一差分算法植入在传感集线器中,手机等电子设备厂商可自主开发传感集线器中的该差分算法,能够提高差分算法的自主开发性,并且,差分解算在处理器中执行,利于处理器获取的数据与(例如从传感集线器)调用的数据在处理器中深度融合;另外,该差分算法仅上调至处理器中即可实现差分解算,从而无需上调至电子设备的系统的框架层,利于降低系统功耗。38.电子设备的操作系统(operationsystem,os)包括但不限于为android(安卓)系统,下面以android系统为例,并结合如图2所示的系统架构,描述本技术实施例的定位导航方法。39.用户通过app(应用程序)请求定位导航服务,app层通过android系统的api(applicationprogramminginterface,应用程序接口)向框架(freamework)层发送定位请求,框架层启动位置管理(locationmanagerservice)模块。位置管理模块将定位请求通过hidl(halinterfacedefinitionlanguage,硬件抽象层接口定义语言)接口下发给hal(hardwareabstractionlayer,硬件抽象层),hal为各类型硬件提供接口,使得定位所需的硬件接入,例如接入电子设备的soc(systemonchip)芯片(即系统级芯片,处理器),该soc芯片可以与各类型传感器连接,并可调用各类传感数据。40.soc芯片通过电子设备自带的网络通信功能启动gps(globalpositioningsystem,全球定位系统)定位进程,并从卫星接收观测量数据,该观测量数据包含卫星定位得到的基本位置信息的数据,在一些场景中,观测量数据可以采用gga格式,因此又称观测量数据。soc芯片将观测量数据上报至框架层的ntripclient(基于互联网的rtcm网络传输协议的虚拟客户机)。41.ntripclient接收到观测量数据之后向差分服务器(又可称位置服务器)发送网络连接请求,可选地,观测量数据与网络连接请求一同发送至差分服务器。在建立网络连接之后,差分服务器将差分数据发送给ntripclient。差分数据是基于观测量数据的区域性差分辅助数据,例如观测量数据包含[22.381754,114.055235],差分服务器将深圳地区的差分辅助数据播发给ntripclient。ntripclient将差分数据回传至soc芯片。[0042]在一些实例中,ntripclient接收到差分数据之后会进行数据初步校验。如图3所示,在步骤s3和s4之前,定位导航方法还包括:s21、将差分数据中的原子时间(gps时间)转换成世界时间(utc时间);以及,s22、判断世界时间与本地世界时间(即电子设备显示的时间)是否相同;若相同,则表示时间相一致,执行步骤s3。若不相同,则废弃本次差分数据,不回传至soc芯片,并重新执行步骤s1和s2。通过对差分数据进行数据初步校验,得到与现实场景更为匹配的差分数据,使得根据初步校验过的差分数据与观测量数据差分解算得到的定位结果的精度更高。[0043]soc芯片在接收到差分数据之后可以进行数据再校验,再校验的过程与原理与初步校验的可以相同,此处不再赘述。若再校验未通过,则可以废弃本次差分数据,重新执行步骤s1和s2。[0044]若再校验通过,可选地,在步骤s4之前,soc芯片还可以监测卫星信号质量是否满足预设要求。若满足,则执行步骤s4;若不满足,则废弃本次差分数据,重新执行步骤s1和s2。通过对初步校验过的差分数据进行数据再校验,得到与现实场景更为匹配的差分数据,使得根据再校验的差分数据与观测量数据差分解算得到的定位结果的精度更高。[0045]在一些实例中,soc芯片可以通过卫星的数量和卫星信号的载波噪声功率谱密度比(cn0)中的至少一者,判断卫星信号质量是否满足预设要求。如图4所示,在步骤s3之前,还包括:s23、判断是否满足第一预设事件和第二预设事件,第一预设事件为发送观测量数据的卫星的数量大于或等于第一预设阈值,第二预设事件为卫星信号的载波噪声功率谱密度比(cn0)大于或等于第二预设阈值。若满足,则执行步骤s3。若不满足,则废弃本次差分数据,并重新执行步骤s1和s2。通过增设判断卫星信号质量是否满足预设要求的步骤对观测量数据进行筛选,得到卫星信号质量更好的观测量数据,有利于提高差分解算得到的定位精度。[0046]例如,如果发送观测量数据的卫星大于10颗(含10颗),且每一卫星信号的cn0均大于30db,则卫星信号的质量满足第一预设事件和第二预设事件,可以执行步骤s3和s4。[0047]在另一些实例中,soc芯片可以仅通过卫星的数量,判断卫星信号质量是否满足预设要求。如图5所示,步骤s23中判断是否满足第一预设事件。若满足,则执行步骤s3。若不满足,则废弃本次差分数据,并重新执行步骤s1和s2。[0048]在又一些实例中,soc芯片可以仅通过卫星信号的cn0,判断卫星信号质量是否满足预设要求。如图6所示,步骤s23中判断是否满足第二预设事件。若满足,则执行步骤s3。若不满足,则废弃本次差分数据,并重新执行步骤s1和s2。[0049]在步骤s4中,soc芯片从传感集线器(sensorhub)调用第一差分算法,并执行例如基于rtk技术的差分解算,得到定位结果。通过差分解算执行定位的过程及原理,可参阅现有技术。[0050]soc芯片将定位结果回传至app层。进一步可选地,app层结合当前卫星dop(定位精度因子)和acc(定位精确度),判断当前是否满足精度定位的置信度,置信度的判断过程及原理,可参阅现有技术。如果满足,则app层将定位结果传输给app。app通过例如语音播报等方式提示当前位置以及执行导航。通过增设定位结果的精度是否满足精度定位的置信度,对预输出的定位结果进行筛选,得到定位精度符合置信度范围的定位结果,从而为输出的定位结果的定位精度提供了更好的保证。[0051]包括rtk技术在内的差分解算能够实现亚米级(甚至厘米级)定位,也就是说,soc芯片可以将定位结果精确到亚米级(甚至厘米级),从而可以实现精准定位。在一些场景中,例如在行车场景中,定位结果可以精确至车道级,定位车辆当前行驶在哪一车道,并在导航时指示是否需要切换行车车道以及切换至哪一车道。[0052]由上述可知,第一差分算法植入在传感集线器中而非soc芯片中,手机厂商等可自主开发传感集线器中的差分算法,差分算法的自主开发性较高;并且,差分解算在soc芯片中执行,soc芯片可以从传感集线器调用各类传感数据,差分算法与调用的传感数据可以在soc芯片中深度融合,利于改善定位精度;另外,差分算法仅上调至soc芯片中,而无需上调至系统的框架层,能够降低系统功耗。[0053]在一些实例中,soc芯片也可以集成有用于差分解算的差分算法,为了区分传感集线器中的第一差分算法,集成于处理器的差分算法称为第二差分算法。第一差分算法和第二差分算法可以相同,也可以不相同。例如,第一差分算法可以为rtk算法,第二差分算法为pvt算法。[0054]在步骤s4中,处理器可以根据第一差分算法和/或第二差分算法进行差分解算,以得到定位结果。通过在处理器中提供第二差分算法,处理器基于现实场景可以选择与其匹配的差分解算方式,从而能够更好地平衡定位导航的精度、定位导航的及时性和系统功耗。例如,处理器可以将根据第一差分算法得到的定位结果与根据第二差分算法得到的定位结果相比较,如果相同或者差异较小(例如定位误差位于预定区域内),则将定位结果通过app推送给用户。如果不相同或者差异较大,则废弃本次定位结果,并重新计算,直至得到相同或者差异较小的定位结果。[0055]又例如,在处理器调用第一差分算法失败时,处理器调用自身集成的第二差分算法得到的定位结果,以此保障行车途中定位的及时性。[0056]传感集线器的主要功能是连接并处理来自各种传感器的数据(即传感数据)。于此,在一些实例中,soc芯片还可以从传感集线器调用传感数据,并将传感数据用于定位导航。如图7所示,本技术实施例还提供另一种定位导航方法,包括步骤s1至s5。[0057]s1:接收位置服务器播发的差分数据。[0058]s2:从卫星接收观测量数据。[0059]s3:处理器从传感集线器调用第一差分算法以及传感数据。[0060]s4:处理器采用第一差分算法并根据差分数据、观测量数据和传感数据进行差分解算,得到定位结果。通过处理器进一步调用的传感数据,将调用的传感数据与处理器获取的差分数据和观测量数据在处理器中深度融合,利于改善定位精度。传感数据为传感器采集到的能够标识电子设备当前所处场景的各类参数。传感器可以是电子设备自带,也可以是独立于电子设备之外但与电子设备通信连接。传感数据的种类,可以由用户根据实际使用情况在电子设备中设定,也可以由电子设备默认设定。[0061]在一些实例中,传感数据包括但不限于:气压、温度、湿度、光强(例如当前场景的环境光)、加速度、速度、磁场强度、磁场方向、所处环境的图像、所处环境中的人脸数据、心率中的至少一种。心率可为持有电子设备的用户的心率。该范围的传感数据与处理器获取的差分数据和观测量数据深度融合,能够更好地辅助处理器执行定位导航。[0062]传感数据可以由对应类型的传感器采集得到,例如,气压计测量气压;湿度计测量湿度值;温度计测量温度值;光照计测量光强;陀螺仪测量加速度;测速仪测量速度;磁力计测量磁场强度,并识别磁场方向;摄像头(例如包括热成像设备)拍摄得到所处环境的图像,以及所处环境中的人脸数据;心率计或脉搏仪测量心率。[0063]在一些实例中,传感数据可以辅助处理器执行定位导航,例如,通过所处环境的图像判断当前处于哪一车道以及需要切换的车道。[0064]进一步可选地,定位导航方法还可以包括步骤s5。[0065]s5:处理器根据传感数据进行预设信息的输出。[0066]预设信息可以是与传感数据的类别相关的信息,例如,在行车场景中,可以通过气压、温度、湿度、光强来识别当前的天气,并语音播报,以提示用户在当前天气中安全驾驶的建议。又例如,可以通过加速度、速度识别当前的车速,并在超速时播报安全驾驶的建议。再例如,可以通过心率识别当前驾驶员的身体状态,据此执行安全驾驶的提示。根据传感数据输出预设信息,利于实现根据现实场景实时辅助定位导航,提升用户体验。[0067]本技术还提供一实施例的电子设备,如图8所示,电子设备80包括第一接收单元81、第二接收单元82、传感集线器83及处理器84。处理器84是电子设备80的控制中心,利用各种接口和线路连接整个电子设备80的各个部分,通过运行或加载存储的程序,以及调用存储的数据,执行电子设备80的各种功能和处理数据,从而对电子设备80进行整体监控。处理器84会按照如下,将一个或一个以上的程序的进程对应的指令加载到存储器中,并由处理器84来运行存储的程序,以此实现如下一个或多个功能:[0068]第一接收单元81用于接收服务器播发的位置差分数据。[0069]第二接收单元82用于从卫星接收观测量数据。[0070]传感集线器83用于存储第一差分算法。[0071]处理器84用于从传感集线器调用第一差分算法;以及,采用第一差分算法,并根据差分数据和观测量数据进行差分解算,得到定位结果。本实施例中,将第一差分算法植入在传感集线器中,手机等电子设备厂商可自主开发传感集线器中的该差分算法,能够提高差分算法的自主开发性,并且,差分解算在处理器中执行,利于处理器获取的数据与(例如从传感集线器)调用的数据在处理器中深度融合;另外,该差分算法仅上调至处理器中即可实现差分解算,从而无需上调至电子设备的系统的框架层,利于降低系统功耗。[0072]进一步可选地,如图8所示,电子设备80还可以包括与传感集线器83连接的传感器85,用于采集当前环境的传感数据。[0073]处理器84还用于从传感集线器83调用传感数据,以及,[0074]采用第一差分算法并根据差分数据、观测量数据和传感数据进行差分解算,得到定位结果;和/或,根据传感数据进行预设信息的输出。通过在电子设备中增设与传感集线器连接的传感器,使得处理器能够从传感器调用传感数据,将调用的传感数据与处理器获取的差分数据和观测量数据在处理器中深度融合,利于改善定位精度;根据传感数据输出预设信息,利于实现根据现实场景实时辅助定位导航,提升用户体验。[0075]应理解,上述元件的划分为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如两个元件可以集成到另一个系统中,或一些特征可以忽略,或不执行。另外,元件相互之间的连接可以通过一些接口,也可以是电性或其它形式。上述元件既可以采用软件功能框的形式实现,也可以采用硬件的形式实现。[0076]在一些实例中,电子设备80包括手持式终端、车载导航设备、可穿戴设备中的任一种。例如,智能手机、个人数字助理(personaldigitalassistant,pda)、平板电脑、导航仪等移动终端,以及佩戴于肢体或者嵌入于衣物、首饰、配件中的具有相应功能的可穿戴设备。[0077]本技术还提供一种可读存储介质,可读存储介质存储有程序,该程序被处理器执行时实现上述任一实施例中的定位导航方法的步骤。[0078]在本技术提供的电子设备和可读存储介质的实施例中,包含了上述方法各实施例的全部技术特征,说明书拓展和解释内容与上述定位方法的各实施例适应性相同,在此不做再赘述。[0079]本技术还提供一实施例的计算机程序产品,该计算机程序产品包括计算机程序代码,当计算机程序代码在计算机上运行时,使得计算机执行如上各种可能的实施例中所述的方法。[0080]本技术还提供一实施例的芯片,包括存储器和处理器,该存储器用于存储程序,处理器用于从存储器中调用并运行程序,使得安装有芯片的设备执行如上各种可能的实施例中的方法。[0081]通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述定位方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上的一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台设备(例如手机、计算机、服务器、被控终端、网络设备等)执行本技术每个实施例的方法。[0082]以上所述仅为本技术的部分实施例,并非因此限制本技术的专利范围,凡是利用本说明书及附图内容所作的等效结构变换,均同理包括在本技术的专利保护范围内。[0083]在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素,此外,不同实施例中具有同样命名的部件、特征、要素可能具有相同含义,也可能具有不同含义,其具体含义需以其在该具体实施例中的解释或者进一步结合该具体实施例中上下文进行确定。[0084]另外,本文中所使用的,单数形式“一”、“一个”和“该”旨在也包括复数形式。术语“或”和“和/或”被解释为包括性的,或意味着任一个或任何组合。仅当元件、功能、步骤或操作的组合在某些方式下内在地互相排斥时,才会出现该定义的例外。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1