一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

导航方法、装置、电子设备和存储介质与流程

2022-11-23 08:08:33 来源:中国专利 TAG:


1.本公开实施例涉及地理信息技术领域,特别是涉及一种导航方法、装置、电子设备和存储介质。


背景技术:

2.随着道路通行情况复杂度的提升以及地图导航服务的发展,用户在出行时越来越倾向于使用集成了导航功能的应用软件(比如地图导航应用软件、网约车应用软件或者生活服务类应用软件等)进行出行(导航)路线规划,以避开需要花费较多通行时间的路段(比如拥堵路段或者缓行路段)或者让路线覆盖符合用户驾驶习惯的路段(比如高速)等,快速安全地抵达目的地。以地图导航应用软件为例,在用户出发前,地图导航应用软件可提供若干较优的导航路线,供用户选择。
3.现有技术中,导航服务通常基于电子地图的道路拓扑数据(拓扑表达了道路与道路之间的连通关系)和道路相关的事故信息、路况信息等规划导航路线。然而,对于因特殊原因(封路或事故等)导致道路不可通行(即,该道路因特殊原因与原本与其连通的其他道路不再连通),由于特殊原因消散后,道路亦可恢复通行,因此,前述特殊原因导致的道路不可通行的状态并不需要在道路拓扑数据中体现。而道路拓扑数据中不能体现因特殊原因导致的道路不可通行,会导致导航服务无法自动为用户规划能够避开前方不可通行道路的新导航路线,出现导航失效的问题。


技术实现要素:

4.本公开实施例提出了导航方法、装置、电子设备和计算机可读介质,以支持在任意情况下提供能够避开前方不可通行道路的新导航路线,避免了因特殊原因导致的导航失效。
5.第一方面,本公开实施例提供了一种导航方法,包括:响应于导航绕行请求,基于被导航对象的实时定位位置,获取原导航路线中未行驶路线的路线距离;基于所述未行驶路线的路线距离,确定避让距离;从所述未行驶路线中,选取所述避让距离内的目标岔路口及目标路段;发送携带所述目标岔路口及所述目标路段的路线规划请求至导航算路服务,以使所述导航算路服务基于所述目标岔路口可驶入的且处于通行状态的路段,规划避开所述目标路段的新导航路线。
6.第二方面,本公开实施例提供了一种导航装置,包括:获取单元,被配置成响应于导航绕行请求,基于被导航对象的实时定位位置,获取原导航路线中未行驶路线的路线距离;确定单元,被配置成基于所述未行驶路线的路线距离,确定避让距离;选取单元,被配置成从所述未行驶路线中,选取所述避让距离内的目标岔路口及目标路段;发送单元,被配置成发送携带所述目标岔路口及所述目标路段的路线规划请求至导航算路服务,以使所述导航算路服务基于所述目标岔路口可驶入的且处于通行状态的路段,规划避开所述目标路段的新导航路线。
7.第三方面,本公开实施例还提供了一种电子设备,包括:处理器;以及存储器,其上存储有可执行代码,当所述可执行代码被执行时,使得所述处理器执行如本公开实施例中一个或多个所述的导航方法。
8.第四方面,本公开实施例还提供了一个或多个机器可读介质,其上存储有可执行代码,当所述可执行代码被执行时,使得处理器执行如本公开实施例中一个或多个所述的导航方法。
9.与现有技术相比,本公开实施例包括以下优点:
10.在本公开实施例中,通过在接收到导航绕行请求后,基于被导航对象的实时定位位置获取原导航路线中未行驶路线的路线距离,而后基于未行驶路线的路线距离确定避让距离,并从未行驶路线中选取避让距离内的目标岔路口及目标路段,最后将携带目标岔路口及目标路段的路线规划请求发送至导航算路服务,从而使得导航算路服务基于目标岔路口可驶入的且处于通行状态的路段,规划避开目标路段的新导航路线。由于本公开提供的技术方案是在收到导航绕行请求时启动,该请求表达了用户希望规避原导航路线中的某些路段,而规避某些路段的原因可能是这些路段不可通行或者用户不想在这些路段上行驶等,为使得新确定的导航能够有效避开用户期待规避的路段,本公开基于未行驶路线的路线距离确定目标路段,这种方式,不依赖于道路拓扑数据中是否体现出道路因特殊原因导致的不可通行状态,因此能够在因特殊原因导致道路不可通行时,依然能够为用户规划出避开前方不可通行道路的新导航路线,避免了因特殊原因导致的导航失效。
附图说明
11.通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本公开的其它特征、目的和优点将会变得更明显:
12.图1a是本公开的导航方法的一个应用场景的示意图;
13.图1b是本公开的导航方法的一个实施例的流程图;
14.图2是本公开的导航方法的避让距离确定过程的流程图;
15.图3是本公开的导航路线切换前后的路线示意图;
16.图4是本公开的导航方法的又一个实施例的流程图;
17.图5是本公开的导航装置的一个实施例的结构示意图;
18.图6是本公开一实施例提供的装置的结构示意图。
具体实施方式
19.下面结合附图和实施例对本公开作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
20.需要说明的是,在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本公开。
21.本公开实施例可应用于导航场景,如步行导航场景、骑行导航场景、驾车导航场景等。在步行导航或骑行导航场景中,用户可借助安装于移动终端中的具备地图导航能力的应用程序(如网约车应用、地图导航应用等)进行导航。在驾车导航场景中,用户可借助于安
装于车载设备(如车机等)中的前述应用程序进行导航,或者,可借助安装于移动终端中的应用程序进行导航。
22.图1a为本公开的导航方法的一个应用场景的示意图,该场景具体为驾车导航场景。该场景的系统架构可包括终端设备和服务器,终端设备通过网络与服务器交互,以接收或发送信息等。终端设备可以是具有显示屏并且支持网络通信的各种电子设备,包括但不限于智能手机、平板电脑、导航仪、车机等,在此不做具体限定。终端设备上可以安装有各种客户端应用,例如地图导航应用。服务器可以是硬件,也可以是软件。当服务器为硬件时,可以实现成多个服务器组成的分布式服务器集群,也可以实现成单个服务器。当服务器为软件时,可以实现成多个软件或软件模块(例如用来提供分布式服务),也可以实现成单个软件或软件模块。在此不做具体限定。
23.需要说明的是,本公开实施例所提供的导航方法一般由终端设备执行,相应地,导航装置一般设置于终端设备中。
24.以地图导航应用为例,在图1a所示的应用场景中,被导航对象(如用户)可使用终端设备中所安装的地图导航应用进行导航。在导航过程中,当用户需要绕路时,可触发导航绕行请求。当终端设备接收到导航绕行请求后,可基于被导航对象的实时定位位置获取原导航路线中未行驶路线的路线距离,并基于该未行驶路线的路线距离确定避让距离,从而从未行驶路线中选取避让距离内的目标岔路口及目标路段,以将携带目标岔路口及目标路段的路线规划请求至提供导航算路服务的服务器。由此,能够使得导航算路服务基于目标岔路口可驶入的且处于通行状态的路段,规划出避开目标路段的新导航路线,新导航路线可避开原始导航路线中的前方部分路段,从而达到绕行的目的。
25.这种方式能够在任意情况下为用户提供新的导航路线。例如,对于一些因事故、私自封路、临时管制等原因导致需要临时绕行的情况,电子地图的道路拓扑数据中尚未添加相关的封路信息和事故信息,也未体现因上述特殊原因导致的道路不可通行状态,此时用户可触发导航绕行请求,将原导航路线中未行驶导航路线切换为避开前方部分路段的新导航路线。再例如,对于因用户主观因素导致需要绕开前方路段的情况,如用户不喜欢走前方路段、想尝试新路段的情况,也可由用户触发导航绕行请求,将原导航路线中未行驶导航路线切换为避开前方部分路段的新导航路线。由此,这种方式不依赖于地图拓扑数据中是否体现因特殊原因导致的道路不可通行状态,能够在任意情况下为用户提供新的导航路线,提高了导航路线规划的灵活性。
26.图1b为本公开的导航方法的一个实施例的流程图。具体的处理过程包括以下步骤:
27.步骤101,响应于导航绕行请求,基于被导航对象的实时定位位置,获取原导航路线中未行驶路线的路线距离。
28.在本实施例中,被导航对象可以是任何具备导航功能的设备,比如安装了地图导航应用软件的智能手机或者汽车等,而这些设备一般会搭载gnss(global navigation satellite system,全球导航卫星系统)模块,因此,可以通过gps(global positioning system,全球定位系统)、glonass(global navigation satellite system,格洛纳斯)等对设备的位置进行实时定位。
29.在获得被导航对象的实时定位位置后,可以基于被导航对象的实时定位位置,获
取原导航路线中未行驶路线的路线距离。其中,原导航路线中的未行驶路线即为从当前的实时定位位置到目标地点(即目的地)的剩余路线,其为从原导航路线的起点到目标地点的原始导航路线中的一部分。未行驶路线的路线距离即为未行驶路线中所包含的各个路段(link)的距离之和。上述路段为导航数据中道路的最小单位,路段可以是位于两个路口之间的路,也可以按照一定的规则道路进行分段之后的形成的路。路段的划分方式并不影响本公开实现。岔路口,一般会连接三条道路,经过岔路口后用户可以有不同的行驶方向,或者驶入不同的道路。
30.实践中,导航绕行请求可由用户主动触发。例如,用户可点击导航界面中的某一功能按键来触发绕行请求,也可以通过输入语音指令的方式触发绕行请求,此处不作具体限定。也可以通过地图导航应用主动询问用户的方式进行触发,比如,地图导航应用的服务探测到用户将行驶的道路出现了异常通行情况,也可以通过应用软件向用户发出询问,以便用户决策是否需要进行绕路。
31.步骤102,基于未行驶路线的路线距离,确定避让距离。
32.在本实施例中,可以基于未行驶路线的路线距离,确定避让距离。其中,避让距离可以指未行驶路线中需要避让的最远距离的预估值,可以是未行驶路线的起点(即步骤101中所确定的实时定位位置)到未行驶路线中某一点的距离。
33.可以理解的是,在需要避开前方某一路段时,通常需要沿原路行进一段路线并通过岔路口驶出,因而此避让距离并不是实际的避让路段的距离,其仅作为需要避让的最远距离的一个预估值。此外,由于绕行后的目的地与绕行前的目的地相同,因而仅需对未行驶路线中的部分路段进行避让即可,由此避让距离小于路线距离。
34.在本实施例中,避让距离可以通过多种方式确定。
35.作为示例,避让距离可以与未行驶路线的路线距离呈正相关,即路线距离越长,确定出的避让距离越长。由此,可以预先设定避让距离与未行驶路线的路线距离的关系式,并基于步骤101所确定出的未行驶路线的路线距离以及该关系式,确定出相应的避让距离。
36.作为又一示例,可预先划分多个距离取值区间,并设定各距离取值区间与避让距离的对应关系。其中,不同距离取值区间可对应不同的避让距离。在得到未行驶路线的路线距离后,可查询该路线距离所属的距离取值区间,从而获取该距离取值区间对应的避让距离。
37.在本实施例的一些可选的实现方式中,还可基于预设的避让比例映射表,确定避让距离。具体可参见图2中的子步骤1011至子步骤1013执行:
38.子步骤1011,从预设的距离取值区间中,确定未行驶路线的路线距离所属的目标距离取值区间。
39.此处,距离取值区间的划分方式不作具体限定。在一些示例中,可依次划分为[0,1]、(1,2]、(2,4]、(4,7]、(7,10]、(10,20]、(20,30]以及(30, ∞]。各距离取值区间中的数值的单位为公里。若路线距离为0.5公里,则其所属的距离取值区间即为[0,1];若路线距离为8公里,则其所属的距离取值区间即为(7,10];若路线距离为50公里,则其所属的距离取值区间即为(30, ∞]。
[0040]
子步骤1012,从预设的避让比例映射表中,获取目标距离取值区间对应的避让距离比例。
[0041]
此处,可预先设置避让比例映射表,该避让比例映射表可基于对大量数据进行统计后生成。避让比例映射表中可包含不同距离取值区间与避让距离比例的对应关系信息。上述避让距离比例用于表征避让距离占未行驶路线的路线距离的比例。作为示例,不同距离取值区间对应的避让距离比例可参见下表:
[0042]
距离取值区间避让距离比例[0,1]0%(1,2]50%(2,4]40%(4,7]30%(7,10]25%(10,20]20%(20,30]15%(30, ∞]10%
[0043]
可以理解的是,在未行驶路线的路线距离较小(如小于或等于1公里)时,表示用户已到达目标地点附近,此时通过观察即可避开前方路段,不需执行规划新导航路线的逻辑。因而在上表中,未行驶路线的路线距离属于距离取值区间[0,1]时,即路线距离小于或等于1公里时,避让距离比例为0%,避让距离为0。
[0044]
此外,未行驶路线的路线距离较大(如大于或等于1公里)时,通常不存在未行驶路线中全部路段均需避让的情况,只需躲避部分道路即可实现绕行目的。因而在上表中,未行驶路线的路线距离属于除[0,1]的其他距离取值区间时,避让距离占比均大于0%且小于100%。
[0045]
需要说明的是,不同距离取值区间对应的避让距离比例还可根据需要进行其他设定,不限于上表。
[0046]
子步骤1013,基于未行驶路线的路线距离和上述避让距离比例,确定避让距离。
[0047]
此处,可将未行驶路线的路线距离和避让距离比例的乘积,确定为避让距离。
[0048]
通过避让比例映射表,能够建立不同距离取值区间与避让距离比例的映射关系,从而能够根据未行驶路线的路线距离所属的目标距离取值区间确定出相应的避让距离比例,进而确定出避让距离。该避让比例映射表可基于对大量数据进行统计后生成,因而基于该避让比例映射表可得到适当的避让距离。
[0049]
步骤103,从未行驶路线中,选取避让距离内的目标岔路口及目标路段。
[0050]
在本实施例中,可从未行驶路线中查找位于避让距离内的岔路口,而后从中选取目标岔路口。例如,未行驶路线的路线长度为10公里,避让距离为2.5公里,则可以从未行驶路线的前2.5公里的路线中查找岔路口,从而从所查找到的岔路口中选取目标岔路口。确定目标岔路口的原因是,岔路口一般会连接三条道路,而原导航路线仅会经过岔路口的其中一条道路,即,通过目标岔路口还可以寻找规避目标路段的其他道路,并且,用户可以驾驶车辆通过目标岔路口进入前述其他路段。
[0051]
在选取目标岔路口时,可根据预设条件进行选取。例如,可将距离当前的实时定位位置最近的岔路口作为目标岔路口,或者,可将与当前的实时定位位置的距离满足预设条件的岔路口作为目标岔路口等,此处对目标岔路口的选取方式不作具体限定。
[0052]
在本实施例中,还可基于避让距离以及所选取出的目标岔路口,确定目标路段。目标路段即为未行驶路线中待避开的路段。在一些示例中,可确定从实时定位位置沿原导航路线继续行进上述避让距离时的位置,并将该位置作为避让终点;而后将未行驶路线中从目标岔路口到避让终点的路段作为目标路段。在另一些示例中,可首先确定从实时定位位置沿原导航路线继续行进上述避让距离时的位置,并将该位置作为目标位置;而后确定目标位置所属的路段,将该路段的较远一侧端点作为避让终点;最后将未行驶路线中从目标岔路口到避让终点的路段作为目标路段。由此能够使得在避让距离包含某一路段的局部时,将该路段整体归属于待避让的目标路段,使得目标路段更为准确合理。
[0053]
在本实施例的一些可选的实现方式中,目标岔路口还可以按照如下步骤选取:
[0054]
第一步,基于避让距离,确定从实时定位位置沿原导航路线的继续行进距离。
[0055]
通常,用户在需要绕行时仍需沿原导航路线继续行进一定距离,在找到某一岔路口时才能使出当前路线。由此,可将沿原导航路线继续行进的距离作为继续行进距离。继续行进距离内的路段不属于待避让的目标路段。
[0056]
此处,可将避让距离的一定占比作为继续行进距离。例如将避让距离的30%作为继续行进距离。当避让距离为100米时,则继续行进距离为30米。
[0057]
第二步,从未行驶路线中,选取继续行进距离内设定个数的岔路口作为目标岔路口。
[0058]
此处,设定个数可以根据需要预先设定,其可由服务端配置,也可由用户预先自定义,此处不作限定。作为示例,当设定个数为1时,可以从未行驶路线中选取继续行进距离内的第一个岔路口作为目标岔路口。例如,继续行进距离为30米,则可以将未行驶路线的前30米中距离实时定位位置最近的岔路口作为目标岔路口。目标岔路口即为目标路段的起点。作为又一示例,当设定个数为3时,可以从未行驶路线中选取继续行进距离内的前3个岔路口作为目标岔路口。由此可在错过前一目标岔路口时,能够从下一目标岔路口驶出。需要说明的是,当设定个数大于1时,目标路段的起点为第一个目标岔路口。
[0059]
通过确定继续行进距离并从继续行进距离中选取目标岔路口,可使目标路段的起点位于更合理位置。通过将继续行进距离内设定个数的岔路口作为目标岔路口,可使用户尽快避开前方道路,尽早绕行至其他道路,从而提高绕行的即时性。同时,在设定个数大于1时,可使得用户在错过前一目标岔路口时,能够尽快从下一目标岔路口驶出。
[0060]
在本实施例的一些可选的实现方式中,若从所述避让距离内未选取到目标岔路口,则还可以判断未行驶路线的路线距离是否大于预设的距离阈值(如30公里)。若是,则可以执行基于被导航对象的实时定位位置,获取原导航路线中未行驶路线的路线距离的步骤。由此,可在未行驶路线的路线距离较大且前方一定距离内不含岔路时,持续处理导航绕行请求,提高了导航路线切换的成功率。若否,则可以展示绕行导航路线获取失败的提示信息。
[0061]
步骤104,发送携带目标岔路口及目标路段的路线规划请求至导航算路服务,以使导航算路服务基于目标岔路口可驶入的且处于通行状态的路段,规划避开目标路段的新导航路线。
[0062]
本领域技术人员可以理解的是,规划导航路线时导航算路服务需要知晓用户的实时定位位置和终点位置,由于绕路情况下用户一般不会改变终点位置,因此,步骤104中可
以携带该终点位置亦可不携带终点位置,具体实现方式取决于相应服务架构,本领域技术人员可基于其实际需求选择相应的实现方式,本公开不做任何限制。
[0063]
在本实施例中,在选取目标岔路口及目标路段后,可发送携带目标岔路口及目标路段的路线规划请求至导航算路服务。导航算路服务在接收到该路线规划请求后,可基于目标岔路口可驶入的且处于通行状态的路段,规划避开目标路段的新导航路线。当新导航路线规划成功时,导航算路服务可返回算路成功的消息。反之,当新导航路线规划失败时,导航算路服务可返回算路失败的消息。
[0064]
实践中,导航算路服务首先可以查询从目标岔路口可驶入的且处于通行状态的路段,而后可确定从所查询的路段驶入且能够达到目的地、同时不途经目标路段的路线;之后可对所确定出的路线进行排序或打分,从而基于排序结果或打分结果,选取预设数量的路线作为新导航路线。其中,路线的排序结果或得分可基于路线长度、路况、收费情况、耗时、限行情况中的一项或多项确定,此处不作限定。
[0065]
在本实施例的一些可选的实现方式中,响应于导航算路服务返回的算路成功的消息,导航方法的执行主体可以展示导航切换交互信息。导航切换交互信息可用于询问用户是否确认切换导航。响应于确认切换导航的交互信息,上述执行主体可以切换至上述新导航路线进行导航引导。由此,可由用户控制未行驶路线的切换时机,提高导航路线切换的灵活性。
[0066]
作为示例,图3示出了导航路线切换前后的路线示意图。如图3所示,切换前以及切换后的导航路线具有相同的起点(即实时定位位置)与终点,且切换后的导航路线可避开目标路段。
[0067]
在本实施例的一些可选的实现方式中,响应于导航算路服务返回的算路失败的消息,还可判断所选取的目标岔路口中是否有未请求过新导航路线的目标岔路口,若有,则可以选择位于已请求过新导航路线的目标岔路前方且距离最近的一个目标岔路口并执行上述发送路线规划请求的步骤。作为示例,若共有3个目标岔路口,则当导航算路服务针对第一个目标岔路口返回算路失败的消息后,可针对第二个目标岔路口发送路线规划请求,以请求新导航路线。同理,当导航算路服务针对第二个目标岔路口返回算路失败的消息后,可针对第三个目标岔路口发送路线规划请求,以请求新导航路线。由此,可提高导航路线规划的成功率,满足用户道路绕行需求。需要说明的是,针对不同目标岔路口发送路线规划请求中所携带的目标路段的起点(为当前针对的目标岔路口)不同且终点相同。
[0068]
在上述实现方式中,在接收到算路失败的消息后,还可统计计算路失败的次数。响应于该次数小于预设的失败次数阈值(如3次),可执行判断所选取的目标岔路口中是否有未请求过新导航路线的目标岔路口的步骤。响应于该次数等于或大于失败次数阈值,可展示绕行导航路线获取失败的提示信息,以避免在多次导航路线获取失败时占用过多计算资源。
[0069]
本公开的上述实施例提供的方法,通过在接收到导航绕行请求后,基于被导航对象的实时定位位置获取原导航路线中未行驶路线的路线距离,而后基于未行驶路线的路线距离确定避让距离,并从未行驶路线中选取避让距离内的目标岔路口及目标路段,最后将携带目标岔路口及目标路段的路线规划请求发送至导航算路服务,从而使得导航算路服务基于目标岔路口可驶入的且处于通行状态的路段,规划避开目标路段的新导航路线。由于
目标路段基于未行驶路线的路线距离确定,不依赖于道路拓扑数据中是否体现出道路因特殊原因导致的不可通行状态,因此能够在因特殊原因导致道路不可通行时,依然能够为用户规划出避开前方不可通行道路的新导航路线,避免了因特殊原因导致的导航失效。
[0070]
继续参考图4,示出了本公开的导航方法的一个实施例的流程图。该导航方法的流程,包括以下步骤:
[0071]
步骤401,响应于导航绕行请求,基于被导航对象的实时定位位置,获取原导航路线中未行驶路线的路线距离。
[0072]
本实施例的步骤401可参见图1b对应的实施例中的步骤101,此处不再赘述。
[0073]
步骤402,基于未行驶路线的路线距离,确定避让距离。
[0074]
本实施例的步骤402可参见图1b对应的实施例中的步骤102,此处不再赘述。
[0075]
步骤403,基于避让距离,确定从实时定位位置沿原导航路线的继续行进距离。
[0076]
在本实施例中,导航方法的执行主体可以基于避让距离,确定从实时定位位置沿原导航路线的继续行进距离。可以理解的是,用户在需要绕行时仍需沿原导航路线继续行进一定距离,在找到某一岔路口时才能使出当前路线。由此,可将沿原导航路线继续行进的距离作为继续行进距离。继续行进距离内的路段不属于待避让的目标路段。
[0077]
实践中,可将避让距离的一定占比作为继续行进距离。例如将避让距离的30%作为继续行进距离。当避让距离为100米时,则继续行进距离为30米。
[0078]
步骤404,从未行驶路线中,选取继续行进距离内设定个数的岔路口作为目标岔路口。
[0079]
在本实施例中,设定个数可以根据需要预先设定,其可由服务端配置,也可由用户预先自定义,此处不作限定。作为示例,当设定个数为1时,上述执行主体可以从未行驶路线中选取继续行进距离内的第一个岔路口作为目标岔路口。例如,继续行进距离为30米,则可以将未行驶路线的前30米中距离实时定位位置最近的岔路口作为目标岔路口。目标岔路口即为目标路段的起点。作为又一示例,当设定个数为3时,上述执行主体可以从未行驶路线中选取继续行进距离内的前3个岔路口作为目标岔路口。由此可在错过前一目标岔路口时,能够从下一目标岔路口驶出。需要说明的是,当设定个数大于1时,目标路段的起点为第一个目标岔路口。
[0080]
通过确定继续行进距离并从继续行进距离中选取目标岔路口,可使目标路段的起点位于更合理位置。通过将继续行进距离内设定个数的岔路口作为目标岔路口,可使用户尽快避开前方道路,尽早绕行至其他道路,从而提高绕行的即时性。同时,在设定个数大于1时,可使得用户在错过前一目标岔路口时,能够尽快从下一目标岔路口驶出。
[0081]
在本实施例的一些可选的实现方式中,若从所述避让距离内未选取到目标岔路口,则上述执行主体还可以判断未行驶路线的路线距离是否大于预设的距离阈值(如30公里)。若是,则可以执行基于被导航对象的实时定位位置,获取原导航路线中未行驶路线的路线距离的步骤。由此,可在未行驶路线的路线距离较大且前方一定距离内不含岔路时,持续处理导航绕行请求,提高了导航路线切换的成功率。若否,则可以展示绕行导航路线获取失败的提示信息。
[0082]
在本实施例的一些可选的实现方式中,响应于避让距离内不包含目标岔路口且未行驶路线的路线距离小于或等于预设距离阈值(如30公里),上述执行主体可以展示绕行导
航路线获取失败的提示信息。
[0083]
步骤405,基于目标岔路口,从未行驶路线中,选取避让距离内的目标路段。
[0084]
在本实施例中,目标路段即为未行驶路线中待避开的路段。在一些示例中,可确定从实时定位位置沿原导航路线继续行进上述避让距离时的位置,并将该位置作为避让终点;而后将未行驶路线中从目标岔路口到避让终点的路段作为目标路段。在另一些示例中,可首先确定从实时定位位置沿原导航路线继续行进上述避让距离时的位置,并将该位置作为目标位置;而后确定目标位置所属的路段,将该路段的较远一侧端点作为避让终点;最后将未行驶路线中从目标岔路口到避让终点的路段作为目标路段。由此能够使得在避让距离包含某一路段的局部时,将该路段整体归属于待避让的目标路段,使得目标路段更为准确合理。
[0085]
步骤406,发送携带目标岔路口及目标路段的路线规划请求至导航算路服务,以使导航算路服务基于上述目标岔路口可驶入的且处于通行状态的路段,规划避开目标路段的新导航路线。
[0086]
本实施例的步骤406可参见图1b对应的实施例中的步骤104,此处不再赘述。
[0087]
步骤407,响应于导航算路服务返回的算路成功的消息,展示导航切换交互信息。
[0088]
在本实施例中,响应于导航算路服务返回的算路成功的消息,上述执行主体可以展示导航切换交互信息。导航切换交互信息可用于询问用户是否确认切换导航。
[0089]
步骤408,响应于确认切换导航的交互信息,切换至新导航路线进行导航引导。
[0090]
在本实施例中,响应于确认切换导航的交互信息,上述执行主体可以切换至上述新导航路线进行导航引导。由此,可由用户控制未行驶路线的切换时机,提高导航路线切换的灵活性。
[0091]
步骤409,响应于导航算路服务返回的算路失败的消息,判断所选取的目标岔路口中是否有未请求过新导航路线的目标岔路口,若有,则选择位于已请求过新导航路线的目标岔路前方且距离最近的一个目标岔路口并执行发送路线规划请求的步骤。
[0092]
在本实施例中,响应于导航算路服务返回的算路失败的消息,上述执行主体可判断所选取的目标岔路口中是否有未请求过新导航路线的目标岔路口,若有,则选择位于已请求过新导航路线的目标岔路前方且距离最近的一个目标岔路口并执行上述发送路线规划请求的步骤。
[0093]
作为示例,未行驶路线中位于继续行进距离内的目标岔路口依次为a、b、c,则当导航算路服务针对第一个目标岔路口a返回算路失败的消息后,可针对第二个目标岔路口b发送路线规划请求,以请求新导航路线。同理,当导航算路服务针对第二个目标岔路口b返回算路失败的消息后,可针对第三个目标岔路口c发送路线规划请求,以请求新导航路线。由此,可在提高导航路线规划的成功率,提高用户道路绕行的成功率。需要说明的是,针对不同目标岔路口发送路线规划请求中所携带的目标路段的起点(为当前针对的目标岔路口)不同且终点相同。
[0094]
在本实施例的一些可选的实现方式中,上述执行主体还可以在接收到算路(规划路线)失败的消息后统计算路失败的次数。响应于该次数小于预设的失败次数阈值(如3次),可执行判断目标岔路口中是否有未请求过新导航路线的目标岔路口的步骤。响应于该次数等于或大于失败次数阈值,上述执行主体可展示绕行导航路线获取失败的提示信息,
以避免在多次导航路线获取失败时占用过多计算资源。
[0095]
继续上述示例,未行驶路线中位于继续行进距离内的岔路口依次为a、b、c,预设的失败次数阈值2。当导航算路服务针对第一个目标岔路口a返回算路失败的消息后,可将算路失败的次数记为1,并针对第二个目标岔路口b发送路线规划请求。此时,若导航路线又一次获取失败,则可将算路失败的次数更新为2,由于算路失败的次数等于失败次数阈值,因此可以展示绕行导航路线获取失败的提示信息。
[0096]
从图4中可以看出,与图1b对应的实施例相比,本实施例中的导航方法的流程突出了确定继续行驶距离的步骤,由此,本实施例描述的方案可避免将目标路段中的岔路口作为目标岔路口,使目标岔路口的选取更为合理和有效。此外,本实施例中的导航方法的流程还突出了在导航路线获取失败时基于下一目标岔路口重新获取导航路线的步骤,由此可提高导航路线获取的成功率。
[0097]
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本公开实施例并不受所描述的动作顺序的限制,因为依据本公开实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本公开实施例所必须的。
[0098]
进一步参考图5,在上述实施例的基础上,本公开提供了一种导航装置的一个实施例,该装置具体可以应用于各种电子设备中。
[0099]
如图5所示,本实施例的导航装置500包括:获取单元501,被配置成响应于导航绕行请求,基于被导航对象的实时定位位置,获取原导航路线中未行驶路线的路线距离;确定单元502,被配置成基于上述未行驶路线的路线距离,确定避让距离;选取单元503,被配置成从上述未行驶路线中,选取上述避让距离内的目标岔路口及目标路段;发送单元504,被配置成发送携带上述目标岔路口及上述目标路段的路线规划请求至导航算路服务,以使上述导航算路服务基于上述目标岔路口可驶入的且处于通行状态的路段,规划避开上述目标路段的新导航路线。
[0100]
在本实施例的一些可选的实现方式中,上述确定单元502,进一步被配置成:从预设的距离取值区间中,确定上述未行驶路线的路线距离所属的目标距离取值区间;从预设的避让比例映射表中,获取上述目标距离取值区间对应的避让距离比例;基于上述未行驶路线的路线距离和上述避让距离比例,确定避让距离。
[0101]
在本实施例的一些可选的实现方式中,上述选取单元503,进一步被配置成:基于上述避让距离,确定从上述实时定位位置沿上述原导航路线的继续行进距离;从上述未行驶路线中,选取上述继续行进距离内设定个数的岔路口作为目标岔路口。
[0102]
在本实施例的一些可选的实现方式中,上述装置进一步包括:展示单元,被配置成响应于导航算路服务返回的算路成功的消息,展示导航切换交互信息;切换单元,被配置成响应于确认切换导航的交互信息,切换至上述新导航路线进行导航引导。
[0103]
在本实施例的一些可选的实现方式中,当目标岔路口为两个以上时,上述路线规划请求每次携带一个目标岔路口,上述装置进一步包括:选择单元,被配置成响应于导航算路服务返回的算路失败的消息,判断所选取的目标岔路口中是否有未请求过新导航路线的目标岔路口,若有,则选择位于已请求过新导航路线的目标岔路前方且距离最近的一个目
标岔路口并执行上述发送路线规划请求的步骤。
[0104]
在本实施例的一些可选的实现方式中,上述装置进一步包括:统计单元,被配置成统计算路失败的次数;若上述次数小于预设的失败次数阈值,则执行上述判断所选取的目标岔路口中是否有未请求过新导航路线的目标岔路口的步骤,若上述次数等于或大于上述预设的失败次数阈值,则展示绕行导航路线获取失败的提示信息。
[0105]
在本实施例的一些可选的实现方式中,上述装置还包括:判断单元,被配置成若从所述避让距离内未选取到目标岔路口,则判断所述未行驶路线的路线距离是否大于预设的距离阈值,若是,则执行基于被导航对象的实时定位位置,获取原导航路线中未行驶路线的路线距离的步骤,若否,则展示绕行导航路线获取失败的提示信息。
[0106]
本公开的上述实施例提供的装置,通过在接收到导航绕行请求后,基于被导航对象的实时定位位置获取原导航路线中未行驶路线的路线距离,而后基于未行驶路线的路线距离确定避让距离,并从未行驶路线中选取避让距离内的目标岔路口及目标路段,最后将携带目标岔路口及目标路段的路线规划请求发送至导航算路服务,从而使得导航算路服务基于目标岔路口可驶入的且处于通行状态的路段,规划避开目标路段的新导航路线。由于目标路段基于未行驶路线的路线距离确定,不依赖于道路拓扑数据中是否体现出道路因特殊原因导致的不可通行状态,因此能够在因特殊原因导致道路不可通行时,依然能够为用户规划出避开前方不可通行道路的新导航路线,避免了因特殊原因导致的导航失效。
[0107]
本公开实施例还提供了一种非易失性可读存储介质,该存储介质中存储有一个或多个模块(programs),该一个或多个模块被应用在设备时,可以使得该设备执行本公开实施例中各方法步骤的指令(instructions)。
[0108]
本公开实施例提供了一个或多个机器可读介质,其上存储有指令,当由一个或多个处理器执行时,使得电子设备执行如上述实施例中一个或多个所述的方法。本公开实施例中,所述电子设备包括终端设备、服务器(集群)等各类型的设备。
[0109]
本公开的实施例可被实现为使用任意适当的硬件,固件,软件,或及其任意组合进行想要的配置的装置,该装置可包括终端设备、服务器(集群)等电子设备。图6示意性地示出了可被用于实现本公开中所述的各个实施例的示例性装置600。
[0110]
对于一个实施例,图6示出了示例性装置600,该装置具有一个或多个处理器602、被耦合到(一个或多个)处理器602中的至少一个的控制模块(芯片组)604、被耦合到控制模块604的存储器606、被耦合到控制模块604的非易失性存储器(nvm)/存储设备608、被耦合到控制模块604的一个或多个输入/输出设备810,以及被耦合到控制模块604的网络接口812。
[0111]
处理器602可包括一个或多个单核或多核处理器,处理器602可包括通用处理器或专用处理器(例如图形处理器、应用处理器、基频处理器等)的任意组合。在一些实施例中,装置600能够作为本公开实施例中所述终端设备、服务器(集群)等设备。
[0112]
在一些实施例中,装置600可包括具有指令814的一个或多个计算机可读介质(例如,存储器606或nvm/存储设备608)以及与该一个或多个计算机可读介质相合并被配置为执行指令814以实现模块从而执行本公开中所述的动作的一个或多个处理器602。
[0113]
对于一个实施例,控制模块604可包括任意适当的接口控制器,以向(一个或多个)处理器602中的至少一个和/或与控制模块604通信的任意适当的设备或组件提供任意适当
的接口。
[0114]
控制模块604可包括存储器控制器模块,以向存储器606提供接口。存储器控制器模块可以是硬件模块、软件模块和/或固件模块。
[0115]
存储器606可被用于例如为装置600加载和存储数据和/或指令814。对于一个实施例,存储器606可包括任意适当的易失性存储器,例如,适当的dram。在一些实施例中,存储器606可包括双倍数据速率类型四同步动态随机存取存储器(ddr4sdram)。
[0116]
对于一个实施例,控制模块604可包括一个或多个输入/输出控制器,以向nvm/存储设备608及(一个或多个)输入/输出设备810提供接口。
[0117]
例如,nvm/存储设备608可被用于存储数据和/或指令814。nvm/存储设备608可包括任意适当的非易失性存储器(例如,闪存)和/或可包括任意适当的(一个或多个)非易失性存储设备(例如,一个或多个硬盘驱动器(hdd)、一个或多个光盘(cd)驱动器和/或一个或多个数字通用光盘(dvd)驱动器)。
[0118]
nvm/存储设备608可包括在物理上作为装置600被安装在其上的设备的一部分的存储资源,或者其可被该设备访问可不必作为该设备的一部分。例如,nvm/存储设备608可通过网络经由(一个或多个)输入/输出设备810进行访问。
[0119]
(一个或多个)输入/输出设备810可为装置600提供接口以与任意其他适当的设备通信,输入/输出设备810可以包括通信组件、音频组件、传感器组件等。网络接口812可为装置600提供接口以通过一个或多个网络通信,装置600可根据一个或多个无线网络标准和/或协议中的任意标准和/或协议来与无线网络的一个或多个组件进行无线通信,例如接入基于通信标准的无线网络,如wifi、2g、3g、4g、5g等,或它们的组合进行无线通信。
[0120]
对于一个实施例,(一个或多个)处理器602中的至少一个可与控制模块604的一个或多个控制器(例如,存储器控制器模块)的逻辑封装在一起。对于一个实施例,(一个或多个)处理器602中的至少一个可与控制模块604的一个或多个控制器的逻辑封装在一起以形成系统级封装(sip)。对于一个实施例,(一个或多个)处理器602中的至少一个可与控制模块604的一个或多个控制器的逻辑集成在同一模具上。对于一个实施例,(一个或多个)处理器602中的至少一个可与控制模块604的一个或多个控制器的逻辑集成在同一模具上以形成片上系统(soc)。
[0121]
在各个实施例中,装置600可以但不限于是:服务器、台式计算设备或移动计算设备(例如,膝上型计算设备、手持计算设备、平板电脑、上网本等)等终端设备。在各个实施例中,装置600可具有更多或更少的组件和/或不同的架构。例如,在一些实施例中,装置600包括一个或多个摄像机、键盘、液晶显示器(lcd)屏幕(包括触屏显示器)、非易失性存储器端口、多个天线、图形芯片、专用集成电路(asic)和扬声器。
[0122]
其中,装置中可采用主控芯片作为处理器或控制模块,传感器数据、位置信息等存储到存储器或nvm/存储设备中,传感器组可作为输入/输出设备,通信接口可包括网络接口。
[0123]
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0124]
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
[0125]
本公开实施例是参照根据本公开实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0126]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0127]
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0128]
尽管已描述了本公开实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本公开实施例范围的所有变更和修改。
[0129]
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
[0130]
以上对本公开所提供的导航方法、装置、电子设备和存储介质,进行了详细介绍,本文中应用了具体个例对本公开的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本公开的方法及其核心思想;同时,对于本领域的一般技术人员,依据本公开的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本公开的限制。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献