CN103429989B - 具有受限资源路线规划最佳化器的导航***及其操作方法 - Google Patents
具有受限资源路线规划最佳化器的导航***及其操作方法 Download PDFInfo
- Publication number
- CN103429989B CN103429989B CN201180068793.5A CN201180068793A CN103429989B CN 103429989 B CN103429989 B CN 103429989B CN 201180068793 A CN201180068793 A CN 201180068793A CN 103429989 B CN103429989 B CN 103429989B
- Authority
- CN
- China
- Prior art keywords
- submodule
- supplementary view
- estimation
- section
- module
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/26—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
- G01C21/34—Route searching; Route guidance
- G01C21/3453—Special cost functions, i.e. other than distance or default speed limit of road segments
- G01C21/3469—Fuel consumption; Energy use; Emission aspects
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/26—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
- G01C21/34—Route searching; Route guidance
- G01C21/3407—Route searching; Route guidance specially adapted for specific applications
- G01C21/343—Calculating itineraries, i.e. routes leading from a starting point to a series of categorical destinations using a global route restraint, round trips, touristic trips
Landscapes
- Engineering & Computer Science (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Automation & Control Theory (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Navigation (AREA)
Abstract
导航***的操作方法包括:设定预定抵达层级(arrival level)以供抵达补充位置(replenishment location);计算估计抵达层级以供抵达该补充位置;基于符合或超出该预定抵达层级的估计抵达层级产生目标位置;以及基于从该目标位置选择该补充位置产生到目的地的行进路线以供在装置上显示。
Description
相关申请案对照参考
本申请案主张2010年12月30日所申请的美国第61/428,847号临时专利申请案的优先权,其技术主题合并引用于本文中。
本申请案包含与罗纳德大卫古特曼(Ronald David Gutman)目前申请中的名称为「NAVIGATION SYSTEM WITH CONSTRAINED RESOURCE ROUTE PLANNING MECHANISM ANDMETHOD OF OPERATION THEREOF」的美国专利申请案有关的技术主题。相关申请案让与Telenav有限公司并且以文件编号59-041予以识别。其技术主题合并引用于本文中。
技术领域
本发明普遍关于导航***,并且更尤指用于路线规划机制的***。
背景技术
现在的可携式消费性及工业用电子装置,尤其是导航***、手机、可携式数字助理器和组合装置之类的客户端装置,其功能水准正在提升,用以支持包括位置信息服务在内的现代生活。现有技术的研发可采取无数不同方向。
使用者藉由基于行动位置的服务装置的成长而得到更多权利,新的及旧的典范开始利用这个新装置空间。有许多技术解决方案利用这个新装置位置机会。一种现存方式是利用位置信息提供导航服务,如用于车辆或手机之类行动装置的全球定位***(GPS)、可携式导航装置(PND)或个人数字助理器(PDA)。
基于位置的服务容许使用者产生、转送(transfer)、储存、及/或消费信息以便让使用者在「真实世界」里进行产生、转送、储存、及/或消费。基于位置的服务中的一种此种用途是有效率地将使用者转送或路由(route)至期望的目的地或服务。
导航***及位置信息服务致能***已含括在汽车、笔记型计算机、手持式装置、以及其它可携式产品内。现今,这些***藉由合并可得的、实时的相关信息辅助使用者,如地图、方向、当地商务(business)、或兴趣点(POI)之类。
然而,过度的计算负担以及抵达目的地前的路线显示延迟对于消费者已变得至关重要。不当的导航***路线规划降低使用工具的好处。
因此,具有路线规划机制以加速产生抵达目的地之路线的导航***仍有其必要性。有鉴于商业竞争压力日益激烈,加上消费者期望持续增加以及市场对于有效产品区隔化的机会日益减少,找到这些问题的解答其重要性持续提升中。有鉴于商业竞争压力日益激烈,加上消费者期望持续增加以及市场对于有效产品区隔化的机会日益减少,找到这些问题的解答其重要性持续提升中。另外,降低成本、改善效率与效能、以及适应竞争压力的需求对于找到这些问题的解答的重要必要性更添急迫性。
已找寻这些问题的解决方案多时,但先前发展并未交代或建议任何解决方案,因此,熟悉本技艺的人士已长时间躲避这些问题的解决方案。
发明内容
本发明提供导航***的操作方法,其包括:设定用于抵达补充位置的预定抵达层级;计算用于抵达该补充位置的估计抵达层级;基于符合或超出该预定抵达层级的估计抵达层级产生目标位置;以及基于从该目标位置选择该补充位置产生到目的地的行进路线以供在装置上显示。
本发明提供导航***,其包括:预定层级模块,供设定用于抵达补充位置的预定抵达层级;耦接于该预定层级模块的计算器预先计算子模块以供计算用于抵达该补充位置的估计抵达层级;耦接于该预定层级模块的回传预先计算子模块,用来基于符合或超出该预定抵达层级的估计抵达层级产生目标位置;以及耦接于该回传预先计算子模块的路线规划模块,用来基于从该目标位置选择该补充位置产生到目的地的行进路线以供在装置上显示。
本发明的特定具体实施例除了或取代以上所述还具有其它步骤或组件。本领域的技术人员参照附加图式阅读底下的详细说明后将明显知道此等步骤或组件。
附图说明
图1为根据本发明一具体实施例具有受限资源路线规划最佳化器机制的导航***。
图2为第一装置显示接口上显示的第一实施例。
图3为第一装置显示接口上显示的第二实施例。
图4为导航***的示例性方块图。
图5为导航***的流程。
图6为预先计算模块的流程。
图7为删除模块(pruning module)的流程。
图8为简化图形(graph)产生器模块的流程。
图9为单向模块(uni-directional module)的流程。
图10为逆单向模块的流程。
图11为双向模块的流程。
图12为本发明另一具体实施例中具有受限资源路线规划最佳化器的操作方法的流程图。
具体实施方式
底下将充份详细地说明具体实施例以使熟悉本技艺的人士能够制作并且使用本发明。要理解的是,其它具体实施例基于本揭露将显而易知,并可制作***、方法(process)、或机械变更而不脱离本发明的范畴。
在底下的说明里,提出许多特定细节使读者对本发明有透彻的理解。然而,明显可知的是,不使用这些特定细节也可实践本发明。为了避免混淆本发明,某些广为人知的电路、***配置、以及方法步骤将不作详细揭露。
表示导航***具体实施例的图式属于半图解性质而未按比例绘制,以及尤其是,某些尺寸为了清楚描述,在图式中以夸大的方式表现。类似地,图式中为了便于说明通常显示类似配向,图中的描绘大部份是不受限制的。一般而言,本发明可用任何配向予以操作。具体实施例已标示为第一具体实施例、第二具体实施例等,这是为了便于说明,而非意图表示任何其它意义或对本发明作限制。
本领域的技术人员将了解的是,导航信息所呈现的格式对于本发明的某些具体实施例并不重要。例如,在某些具体实施例中,导航信息以(X,Y)的格式予以呈现,其中X与Y为界定地理位置的两个坐标,亦即,使用者的位置。
在一替代具体实施例中,导航信息藉由经纬度相关信息予以呈现。在本发明又一具体实施例中,导航信息亦包括含有速度组件(speed component)与航向组件(headingcomponent)的速度组件(velocity element)。
本文所称的术语「有关(相关)信息」包含所述导航信息以及使用者兴趣点的信息,如当地商务、商务时间、商务类型、广告特色、交通信息、地图、当地事件、以及附近社区或个人信息。
根据文中所使用的术语,在本发明中,本文所称的术语「模块」可包括软件、硬件、或其组合。例如,软件可为机器码、轫体、嵌入式程序代码、以及应用软件。同样地举例而言,硬件可为电路、处理器、计算机、集成电路、集成电路核心、压力传感器、惯性传感器、微机电***(MEMS)、被动装置、或其组合。
现在请参阅第1图,其表示本发明一具体实施例中具有受限资源路线规划最佳化器机制的导航***100。导航***100包括利用无线或有线网络之类的通讯路径104连接至客户端或服务器之类的第二装置106的客户端或服务器之类的第一装置102。
例如,第一装置102可为各种行动装置中的任何一种装置,如手机、个人数字助理器、笔记型计算机、车用电信导航***、或其它多功能行动通讯或娱乐装置。第一装置102可为独立式装置、或可与例如汽车、卡车、公车、火车的交通工具(vehicle)合并。第一装置102可耦接至通讯路径104而与第二装置106通讯。
虽然要理解的是,第一装置102可为不同种类的计算装置,为了描述,以行动计算装置作为第一装置102说明导航***100。例如,第一装置102亦可为非行动计算装置,如服务器、服务器机群、或桌上型计算机。
第二装置106可为各种集中式或分布式计算装置中的任何一种装置。例如,第二装置106可为计算机、网格计算资源、虚拟计算机资源、或其组合。
第二装置106在单一计算机室内可为集中式,跨不同房间可为分布式,跨不同地理位置可为分布式,在电信网络内可为嵌入式。第二装置106亦可如同用于第一装置102所述为客户端类型装置。
在另一实施例中,第一装置102可为特制化机器,如主机、服务器、丛集服务器、机架式服务器、或刀锋服务器,或者就更特定的实施例而言,可为IBM***z10(TM)商业级主机或HP ProLiant ML(TM)服务器。在又一实施例中,第二装置106可为特制化机器,如可携式计算装置、薄型客户端、笔记型计算机、网络计算机、智能型手机、个人数字助理器、或行动电话,以及特定例子可为AppleiPhone(TM)、Palm Centro(TM)、或Moto Q Global(TM)。
虽然要理解的是,第二装置106可为不同类型的计算装置,为了描述,导航***100以非行动计算装置作为第二装置106予以说明。例如,第二装置106亦可为行动计算装置,如笔记型计算机、另一种客户端装置、或其它类型的客户端装置。第二装置106可为独立式装置、或可与例如汽车、卡车、公司、或火车的交通工具合并。
同样为了描述,导航***100中的第二装置106与第一装置102表示为通讯路径104的端点,但要理解的是,导航***100在第一装置102、第二装置106与通讯路径104之间可具有不同分割(partition)。例如,第一装置102、第二装置106、或其组合亦可作为通讯路径104的部份。
通讯路径104可为各种网络。例如,通讯路径104可包括无线通讯、有线通讯、光波、超音波、或其组合。卫星通讯、蜂巢式通讯、蓝芽、红外线数据关联标准(IrDA)、无线上网(WiFi)、以及全球互通微波存取(WiMAX)为可含括在通讯路径104中的无线通讯实施例。以太网络、数字用户线(DSL)、光纤到府(FTTH)、以及普通老式电话服务(POTS)可为可含括在通讯路径104中的有线通讯实施例。
另外,通讯路径104可穿过许多网络拓扑及距离。例如,通讯路径104可包括直接连接、个人局域网络(PAN)、局域网络(LAN)、都会网络(MAN)、广域网络(WAN)或任何其组合。
请参阅第2图,其表示第一装置102显示接口202上显示的第一实施例。行进路线214界定为一条路径,交通工具沿着这条路径行进将得以确保有抵达目的地206所需的足量资源、燃料、或其组合。行进路线214包括开始位置204、中间停靠站208、补充位置210、目的地206、或其组合。
开始位置204界定为行进路线214的起点。目的地206界定为行进路线214的终点。中间停靠站208界定为交通工具在抵达目的地206之前以及离开起点204之后穿越(traverse)行进路线214时可停靠的地理位置。
补充位置210界定为交通工具可补充资源、燃料、或其组合以继续前往目的地206的地理位置。例如,资源可包括水、冷却剂或其组合。
行进路线214可包括行进区段212(travel section)的多个路径。行进区段212界定为介于停靠点(stopping point)之间的路径。停靠点包括开始位置204、补充位置210、中间停靠站208、目的地206、或其组合。例如,行进区段212可表示介于代表补充位置210的停靠点与代表中间停靠站208的另一停靠点之间的路径。
在另一实施例中,第一个行进区段212可为介于开始位置204与补充位置210之间的路径。第二个行进区段212可为介于补充位置210与中间停靠站208之间的路径。另一行进区段212可为介于中间停靠站208与目的地206之间的路径。行进路线214可包括介于开始位置204到补充位置210之间的行进区段212、介于补充位置210到中间停靠站208之间的行进区段212、以及介于中间停靠站208到目的地206之间的行进区段212。
目前位置估计层级216界定为文通工具处于目前有利点位(current vantagepoint)时对于交通工具中资源、燃料、或其组合的估计量。有利点位包括开始位置204、中间停靠站208、补充位置210、或其组合。
例如,目前有利点位可为开始位置204。目前位置估计层级216在电动车位于开始位置204时可为100%满电池容量
在不同的实例中,目前有利点位可为离开开始位置204后的补充位置210。目前位置估计层级216于补充位置210对车辆重新充满电后也可为100%满电池容量。
估计抵达层级218界定为对于抵达开始位置204、中间停靠站208、补充位置210、目的地206、或其组合后剩余的资源、燃料、或其组合的估计量。例如,电动车在抵达补充位置210后可具有25%满电池容量的估计抵达层级。在另一实施例中,若使用者不在补充位置210补充车辆,则目前位置估计层级216可等于估计抵达层级218。
预定抵达层级220界定为汽车利用导航***100为了抵达下一个停靠点必须维持的资源、燃料、或其组合的最小临界层级。例如,为了让导航***100在电动车离开开始位置204后选择补充位置210,车辆在抵达补充位置210时必须具有至少5%的满电池容量。
区段距离222界定为行进区段212的实体距离。例如,从补充位置210到中间停靠站208的行进区段212可为45公里。
预定距离224界定为沿着地球表面穿越一停靠点到另一停靠点之间的直线距离。例如,介于一停靠点到另一停靠点之间的直线距离不一定是行进区段212的区段距离222。更具体地说,若行进区段212为弯路,区段距离222可计入(account for)路径曲率的距离。
作为对比,预定距离224不计入路径曲率的距离。更具体地说,直线不一定代表交通工具可行进的实体路径,而是从一停靠点到另一停靠点的直接线条。例如,介于中间停靠站208到补充位置210之间的区段距离222可为45公里。介于中间停靠站208到补充位置210同样两个位置之间的预定距离224可为25公里。
估计消耗层级216界定为用于穿越行进区段212所消耗资源、燃料、或其组合的估计量。例如,电动车可消耗75%满电池容量的估计消耗层级226以供从一补充位置210到另一补充位置210之间穿越行进区段212。
替代运输路线228界定为有别于使用者的交通工具使用者可采取用于抵达下一个停靠点的路径。例如,替代运输路线228可表示火车轨道。使用者可采用火车从补充位置210抵达目的地206。
估计替代运输时间230界定为供使用者穿越替代运输路线228的估计时间。例如,使用者可在火车上用40分钟穿越替代运输路线228。
配给替代运输行进时间232(allotted alternate transportation traveltime)界定为使用者、导航***100、或其组合所分配用于穿越替代运输路线228的最大时间。例如,配给替代运输行进时间232可为60分钟以供行进替代运输路线228。
估计区段行进时间234界定为所需用以完成穿越行进区段212的时间估计。例如,用于从一中间停靠站208到另一中间停靠站208的估计区段行进时间234可为50分钟。
估计区段财务成本236界定为使用者为了穿越行进区段212所带来的货币成本估计。例如,介于补充位置210到中间停靠站208之间的行进区段212可存在收费站(tollplaza)。收费站可索取7美元的费用。用于穿越行进区段212那条特殊路径的估计区段财务成本236可为7美元。
目标位置238界定为已由导航***100识别用以辅助产生行进路线214的地理位置。例如,目标位置283可包括补充位置210、中间停靠站208、或其组合。随后将说明地理位置清单预先计算以及基于目标位置238产生行进路线214带来的好处。
逆行进路线240界定一条路径,为交通工具藉由沿着这条路径行进将得以确保有适量的资源、燃料、或其组合由各个停靠点抵达开始位置204。逆行进路线240包括开始位置204、中间停靠站208、补充位置210、目的地206、或其组合。
例如,逆行进路线240可如同行进路线214通过代表补充位置210、中间停靠站208、或其组合的相停靠点,但起于目的地206抵达开始位置204。在不同的实施例中,逆行进路线240可有别于行进路线214而通过代表补充位置210、中间停靠站208、或其组合的不同停靠点,但起于目的地206抵达开始位置。类似于行进路线214,逆行进路线240可包括行进区段212的多个路径。
现在请参阅第3图,其表示第一装置102显示接口202上显示的第二实施例。第二实施例描述影响导航***100产生目标位置238的各个要素。
例如,第2图的补充位置210可包括第一补充位置302、第二补充位置304、第三补充位置306、第四补充位置308、以及第五补充位置310。第一补充位置302、第二补充位置304、第三补充位置306、第四补充位置308、以及第五补充位置310为补充位置210的进一步实施例并且界定为补充位置210。
例如,第2图的中间停靠站208可包括第一中间停靠站312以及第二中间停靠站314。第一中间停靠站312以及第二中间停靠站314为中间停靠站208的进一步实施例并且界定为中间停靠站208。
作为要素之一,导航***100可基于符合或超出预定抵达层级220的估计抵达层级218产生目标位置238。例如,对于第一中间停靠站312与第一补充位置302的预定抵达层级220可为电动车的5%满电池容量。若离开开始位置204后用于抵达第一补充位置302的估计抵达层级218为6%,则导航***100可选择第一补充位置302予以含括在目标位置238中。作为对比,若离开开始位置204后用于抵达第一中间停靠站312的估计抵达层级218为4%,则导航***100可避免选择第一中间停靠站312含括在目标位置238中。
作为另一要素,导航***100可基于符合或超出预定距离224的区段距离222产生目标位置238。例如,从开始位置204到第一补充位置302的预定距离224可为35公里。另外,从开始位置204到第一补充位置302的区段距离222可为40公里。由于区段距离222超出预定距离224,导航***100可选择第一补充位置302作为代表目标位置238的地理位置之一。
作为对比,从第一中间停靠站312到第四补充位置308的预定距离224可为25公里。另外,从第一中间停靠站312到第四补充位置308的区段距离222可为15公里。更具体地说,从第一中间停靠站312前往第四补充位置308的行进区段212到达不了(fall short ofreaching)第四补充位置308。
由于预定距离224超出区段距离222,导航***100可避免选择第四补充位置308并且删除介于第一中间停靠站312到第四补充位置308之间的行进区段212以供产生目标位置238。删除无法符合预定距离224的行进区段212可藉由降低产生行进路线214的计算负担以辅助导航***100。随后将说明删除行进区段212的相关细节。
作为另一个要素,导航***100可基于符合或超出估计消耗层级226的目前位置估计层级216产生目标位置238。例如,目前位置估计层级216在使用者的电动车位于第二补充位置304时可为85%满电池容量。用于从第二补充位置304穿越行进区段212到第二中间停靠站314的估计消耗层级226可为75%满电池容量。由于目前位置估计层级216超出估计消耗层级226,导航***100可选择第二中间停靠站314作为代表目标位置238的地理位置之一。
作为对比,用于从第二补充位置304穿越行进区段212到第五补充位置310的估计消耗层级226可为95%满电池容量。由于估计消耗层级226超出目前位置估计层级216,导航***100可避免选择第五补充位置310作为代表目标位置238的地理位置之一。
作为另一要素,导般***100可基于符合或超出估计替代运输时间230的配给替代运输行进时间232产生目标位置238。例如,用于穿越替代运输路线228从第二中间停靠站314到目的地206或从第二中间停靠站314到第五补充位置310的配给替代运输行进时间232两者都可为60分钟。用于从第二中间停靠站314穿越替代运输路线228到目的地206的估计替代运输时间230可为40分钟。由于配给替代运输行进时间232超出估计替代运输时间230,导航***100可选择目的地206作为代表目标位置238的地理位置之一。
作为对比,用于从第二中间停靠站314穿越替代运输路线238到第五补充位置310的估计替代运输时间230可为70分钟。由于估计替代运输时间230超出配给替代运输行进时间232,导航***100可避免选择第五补充位置310作为代表目标位置238的地理位置之一。
作为另一要素,导航***100可基于比较用于穿越行进区段212到达补充位置210、中间停靠站208、目的地206、或其组合的估计区段行进时间234产生目标位置238。例如,用于从开始位置204穿越行进区段212到第一补充位置302的估计区段行进时间234可为40分钟。
作为对比,用于从开始位置204穿越行进区段212到第一中间停靠站312的估计区段行进时间234可为50分钟。由于从开始位置204穿越行进区段212到第一补充位置302的估计区段行进时间234小于从开始位置204到第一中间停靠站312,导航***100可选择第一补充位置302并且不选择第一中间停靠站312作为目标位置238的地理位置之一。
作为另一要素,导航***100可基于比较用于穿越行进区段212到达开始位置204、补充位置210、中间停靠站208、目的地206、或其组合的估计区段财务成本236产生目标位置238。例如,用于从第一补充位置302穿越行进区段212到第二补充位置304的估计区段财务成本236可为0美元。
作为对比,用于从第一补充位置302穿越行进区段212到第三补充位置306的估计区段财务成本236可为7美元。由于用于从第一补充位置302穿越行进区段212到第二补充位置304的估计区段财务成本236小于从第一补充位置302到第三补充位置306,导航***100可选择第二补位置304并且不选择第三补充位置306作为代表目标位置238的地理位置之一。
由上述要素得知,导航***100可产生目标位置238。继续上述实施例,导航***100可产生可包括第一补充位置302、第二补充位置304、第三补充位置306、第二中间停靠站314、以及目的地206的目标位置238。
现在请参阅第4图,其表示导航***100的示例性方块图。导航***100可包括第一装置102、通讯路径104、以及第二装置106。第一装置102可透过通讯路径104在第一装置传输线路(transmission)408中将信息传送到第二装置106。第二装置106可透过通讯路径104在第二装置传输线路410中将信息传送到第一装置102。
为了描述,导航***100中的第一装置102表示成客户端装置,即便要了解的是,导航***100可具有作为不同类型装置之第一装置。例如,第一装置102可为服务器。
同样为了描述,导航***100中的第二装置106表示成服务器,即便要了解的是,导航***100可具有作为不同类型装置的第二装置106。例如,第二装置106可为客户端装置。
为了简化本发明具体实施例的说明,第一装置102将以客户端装置作说明以及第二装置106将以服务器装置作说明。本发明不局限于对于装置类型的选择。此选择系本发明的实施例。
第一装置102可包括第一控制单元412、第一储存单元414、第一通讯单元416、第一使用者接口418、以及位置单元420。第一控制单元412可包括第一控制接口422。第一装置102可藉由第一装置102予以类似地描述。
第一控制单元412可包括第一控制接口422。第一控制单元412可执行第一软件426以提供导航***100的情报(intelligence)。第一控制单元412可用许多不同方式予以实现。例如,第一控制单元412可为处理器、嵌入式处理器、微处理器、硬件控制逻辑、硬件有限状态机(FSM)、数字信号处理器(DSP)、或其组合。第一控制接口422可用于第一控制单元412与第一装置102内其它功能单元之间的通讯。第一控制接口422亦可用于第一装置102外部的通讯。
第一控制接口422可从其它功能单元或从外部来源接收信息、或可将信息传送到其它功能单元或外部目的地(destination)。外部来源和外部目的地意指从第一装置102实体分离的来源和目的地。
第一控制接口422取决于那个功能单元或外部单元正与第一控制接口422介接(interface)而可用不同方式予以实现并且可包括不同实现。例如,第一控制接口422可用压力传感器、惯性传感器、微机电***(MEMS)、光学电路、波导、无线电路、有线电路、或其组合予以实现。
位置单元420举例可产生第一装置102的位置信息、目前航向(current heading)、以及速度。位置单元420可用许多方式予以实现。例如,位置单元420可作用为全球定位***(GPS)、惯性导航***、蜂塔式位置***(cellular-tower location system)、压力位置***、或任何其组合的至少一部份。
位置单元420可包括位置接口432。位置接口432可用于位置单元420与第一装置102内其它功能单元之间的通讯。位置接口432亦可用于第一装置102外部的通讯。
位置接口432可从其它功能单元或从外部来源接收信息、或可将信息传送到其它功能单元或外部目的地。外部来源和外部目的地意指外于第一装置102的来源和目的地。
位置接口432取决于那个功能单元或外部单元正与位置单元420介接而可包括不同实现。位置接口432可用类似于实现第一控制单元422的技术和技巧予以实现。
第一储存单元414可储存第一软件426。第一储存单元414亦可储存如广告、兴趣点(POI)、导航绕路入口(navigation routing entry)之类的相关信息。
第一储存单元414可为易失性内存、非易失性内存、内部存储器、外部内存、或其组合。例如,第一储存单元414可为如非易失性随机存取内存(NVRAM)之类的非易失性储存体(storage)、闪存、磁盘储存体、或如静态随机存取内存(SRAM)之类的易失性储存体。
第一储存单元414可包括第一储存接口424。第一储存接口324可用于位置单元420与第一装置102内其它功能单元之间的通讯。第一储存接口424亦可用于第一装置102外部的通讯。
第一储存接口424可从其它功能单元或从外部来源接收信息、或可将信息传送到其它功能单元或外部目的地。外部来源和外部目的地意指外于第一装置102的来源和目的地。
第一储存接口424取决于那个功能单元或外部单元正与第一储存单元414介接而可包括不同实现。第一储存接口424可用与第一控制接口422的实现类似的技术和技巧予以实现。
第一通讯单元416能与第一装置102往来进行外部通讯。例如,第一通讯单元416可使第一装置102与第二装置106、如***装置或计算机桌面(computer desktop)之类的附件、以及通讯路径104通讯。
第一通讯单元416亦可作用为通讯集线器而使第一装置102作用为通讯路径104的部份并且不局限于对通讯路径104的终点或终端单元。第一通讯单元416可包括如微电子组件或天线之类的主动与被动组件用于与通讯路径104互动。
第一通讯单元416可包括第一通讯接口428。第一通讯接口428可用于第一通讯单元416与第一装置102内其它功能单元之间的通讯。第一通讯接口428可从其它功能单元接收信息或可将信息传送到其它功能单元。
第一通讯接口428取决于那个功能单元正与第一通讯单元416介接而可包括不同实现。第一通讯接口428可用类似于实现第一控制接口422的技术和技巧予以实现。
第一使用者接口418让使用者(未图标)与第一装置102介接并且互动。第一使用者接口418可包括输入装置和输出装置。第一使用者接口418输入装置的实施例可包括键板(keypad)、触控板、软键、键盘、麦克风、或任何其组合以提供资料与通讯输入。
第一使用者接口418可包括第一显示接口430。第一显示接口430可包括显示器、投影机、视讯屏幕、扬声器、或任何其组合。
第一控制单元412可操作第一使用者接口418以显示导航***100所产生的信息。第一控制单元412亦可执行第一软件426用于导航***100包括从位置单元420接收位置信息在内的其它功能。第一控制单元412还可执行第一软件426用于经由第一通讯单元416与通讯路径104互动。
第二装置106可最佳化用以将本发明实现在具有第一装置102的多重装置具体实施例中。第二装置106相较于第一装置102可提供额外或更高效能处理能力。第二装置106可包括第二控制单元434、第二通讯单元436、以及第二使用者接口438。
第二使用者接口438允许使用者(图未示)与第二装置106介接并且互动。第二使用者接口438可包括输入装置和输出装置。第二使用者接口438输入装置的实施例可包括键板、触控板、软键、键盘、麦克风、或任何其组合以提供资料与通讯输入。第二使用者接口438的输出装置的实施例可包括第二显示接口440。第二显示接口440可包括显示器、投影机、视讯屏幕、扬声器、或任何其组合。
第二控制单元434可执行第二软件442以提供导航***100第二装置106的情报。第二软件442可联结第一软件426操作。第二控制单元434与第一控制单元相比可提供额外效能。
第二控制单元434可操作第二使用者接口438以显示信息。第二控制单元434亦可执行第二软件442用于导航***100的其它功能,包括操作第二通讯单元436透过通讯路径104与第一装置102通讯。
第二控制单元434可用许多不同方式予以实现。例如,第二控制单元434可为处理器、嵌入式处理器、微处理器、硬件控制逻辑、硬件有限状态机(FSM)、数字信号处理器(DSP)、或其组合。
第二控制单元434可包括第二控制器接口444。第二控制器接口444可用于第二控制单元434与第二装置106内其它功能单元之间的通讯。第二控制器接口444亦可用于第二装置106外部的通讯。
第二控制器接口444可从其它功能单元或从外部来源接收信息、或可将信息传送到其它功能单元或外部目的地。外部来源和外部目的地意指外于第二装置106的来源和目的地。
第二控制器接口444取决于那个功能单元或外部单元正与第二控制器接口444介接而可用不同方式予以实现并且可包括不同实现。例如,第二控制器接口444可用压力传感器、惯性传感器、微机电***(MEMS)、光学电路、波导、无线电路、有线电路、或其组合予以实现。
第二储存单元446可储存第二软件442。第二储存单元446亦可储存相关信息,如广告、兴趣点(POI)、导航绕路入口、或任何其组合。第二储存单元446可调整大小以提供额外储存空间补充给第一储存单元414使用。
为了描述,第二储存单元446表示成单一组件,即便要了解的是,第二储存单元446可为储存组件分布(distribution of storage elements)。同样为了描述,导航***100中的第二储存单元446表示成单一层级储存***,即便要了解的是,导航***100可具有呈不同配置的第二储存单元446。例如,第二储存单元446可用形成包括有不同层次高速缓存、主存储器、旋转媒体、或离线储存体的内存层级***的不同储存技术予以形成。
第二储存单元446可为易失性内存、非易失性内存、内部存储器、外部内存、或其组合。例如,第二储存单元446可为如非易失性随机存取内存(NVRAM)之类的非易失性储存体(storage)、闪存、磁盘储存体、或如静态随机存取内存(SRAM)之类的易失性储存体。
第二储存单元446可包括第二储存接口448。第二储存接口448可用于位置单元420与第二装置106内其它功能单元之间的通讯。第二储存接口448亦可用于第二装置106外部的通讯。
第二储存接口448可接收来自其它功能单元或来自外部来源的信息、或可将信息传送到其它功能单元或外部目的地。外部来源和外部目的地意指外于第二装置106的来源和目的地。
第二储存接口448取决于那个功能单元或外部单元正与第二储存单元446介接而包括不同实现。第二储存接口448可用类似于实现第二控制器接口444的技术和技巧予以实现。
第二通讯单元436能与第二装置106来回进行外部通讯。例如,第二通讯单元436可透过通讯路径104使第二装置106与第一装置102通讯。
第二通讯单元436亦可作用为通讯集线器使第二装置106作用为通讯路径104的部份并且不局限于对通讯路径104的端点或终端单元。第二通讯单元436可包括如微电子组件或天线之类的主动与被动组件用于与通讯路径104互动。
第二通讯单元436可包括第二通讯接口450。第二通讯接口450可用于第二通讯单元436与第二装置106内其它功能单元之间的通讯。第二通讯接口450可接收来自其它功能单元的信息并且可将信息传送到其它功能单元。
第二通讯接口450取决于那个功能单元正与第二通讯元436介接而可包括不同实现。第二通讯接口450可用类似于实现第二控制器接口444的技术和技巧予以实现。
第一通讯单元416可与通讯路径104耦接以在第一装置传输线路408中将信息传送到的第二装置106。第二装置106可从通讯路径104的第一装置传输线路408接收第二通讯单元436中的信息。
第二通讯单元436可与通讯路径104耦接以在第二装置传输线路410中将信息传送到第一装置102。第一装置102可从通讯路径104的第二装置传输线路410接收第一通讯单元416里的信息。导航***100可藉由第一控制单元412、第二控制单元434、或其组合予以执行。
为了描述,第二装置106以具有第二使用者接口438、第二储存单元446、第二控制单元434、以及第二通讯单元436的分割予以表示,即便要了解的是,第二装置106可具有不同分割。例如,第二软件442可作不同分割以致某些或所有其功能可放在第二控制单元434和第二通讯单元436内。而且,为了清楚呈现,第二装置106可包括未在第4图表示的其它功能单元。
第一装置102内的功能单元可单独作业并且独立于其它功能单元。第一装置102可单独作业并且独立于第二装置106和通讯路径104。
第二装置106内的功能单元可单独作业并且独立于其它功能单元。第二装置106可单独作业并且独立于第一装置102和通讯路径104。
为了描述,导航***100藉由操作第一装置102和第二装置106予以说明。要了解的是,第一装置102和第二装置106可操作导航***100的任何模块和功能。例如,第一装置102经说明是操作位置单元420,即便要了解的是,第二装置106亦可操作位置单元420。
现在请参阅第5图,其表示导航***100的流程。导航***100的流程可利用图形理论以供产生第2图的行进路线214。本流程不是藉由图形理论格式予以描绘的。
导航***100可包括预定层级模块502。预定层级模块502设定交通工具在其抵达沿着行进路线214的每一个停靠点时所需的资源、燃料、或其组合的最小层级。例如,预定层级模块502可设定第2图的预定抵达层级220以供抵达补充位置210、目的地206、中间停靠站208、或其组合。在另一实施例中,预定层级模块502可设定预定抵达层级220以供抵达第3图的第二补充位置304。
预定层级模块502可用许多方式设定预定抵达层级220。例如,预定抵达层级220可设定预定抵达层级220以供藉由界定电动车一旦抵达每一个停靠点即必须具有至少5%满电池容量操作电动车。作为不同的实施例,预定层级模块502可设定预定抵达层级220以供藉由界定汽油动力车一旦抵达每一个停靠点即必须具有至少1加仑汽油操作汽油动力车。
导航***100可包括预定距离计算器模块504。预定距离计算器模块504计算沿着行进路线214从一停靠点到另一停靠点的直线距离。例如,预定距离计算器模块504可计算第2图的预定距离224以供抵达补充位置210、目的地206、中间停靠站208、或其组合。在另一实施例中,预定距离计算器模块504可计算介于第3图第一补充位置302与第二补充位置304之间的预定距离224。作为更特定的实施例,预定距离计算器模块504可针对预定距离224计算介于第一补充位置302与第二补充位置304的GSP坐标之间的直线距离。
导航***100可包括预先计算模块506。预先计算模块506减少考虑用于产生行进路线214的地图节点数目。介于一停靠点至另一停靠点之间的行进区段212可予以事先计算以产生节点少很多的简化图形。节点包括第2图的开始位置204、第2图的目的地206、第2图的中间停靠站208、第2图的补充位置210、或其组合。例如,预先计算模块506可基于符合或超出预定抵达层级220的第2图的估计抵达层级218产生第2图的目标位置238。随后将说明预先计算模块506的相关细节。
导航***100可包括删除模块508。删除模块508基于消除无法抵达下一个停靠点的路径删除节点。例如,删除模块508可藉由基于符合或超出第2图预定距离224的第2图区段距离222选择补充位置210而产生目标位置238。随后将说明删除模块508的有关细节。
导航***100可包括简化图形产生器模块510。简化图形产生器模块510可基于目标位置238产生简化图形以供路线规划模块512产生行进路线214。随后将说明简化图形产生器模块510的相关细节。
导航***100可包括路线规划模块512。路线规划模块512产生确保交通工具利用导航***100以足量资源、燃料、或其组合抵达目标目的地的路径。例如路线规划模块512可基于从目标位置238选择补充位置210产生到目的地206的行进路线214以供在第1图的第一装置102上显示。
路线规划模块512可用许多方式产生行进路线214。例如,路线规划模块512可包括单向模块514。单向模块514可基于目标位置238产生从开始位置204到目的地206的行进路线214。随后将说明单向模块514的相关细节。
作为不同的实施例,路线规划模块512可包括逆单向模块516。逆单向模块516可基于目标位置238产生从目的地206到开始位置204的行进路线214。随后将说明逆单向模块516的相关细节。
在另一实施例中,路线规划模块512可包括双向模块518。双向模块518可处理单向模块514和逆单向模块516中所述的算法以供产生行进路线。随后将说明双向模块518的相关细节。
导航***100可包括显示模块520。显示模块520显示行进路线214供使用者遵循以抵达目的地206。
来自显示行路线214的实体转换导致在实体世界的移动,比如人们基于操作导航***100使用第1图的第一装置102、交通工具、或其组合。随着在实体世界出现移动,移动本身产生额外信息,额外信息予以转换回去以计算估计抵达层级218、目前位置估计层级216、估计消耗层级226、估计替代运输时间230、估计区段行进时间234、估计区段财务成本236、或其组合用于为导航***100持续操作产生目标位置238并且继续实体世界中的移动。
第4图第一装置102的第4图第一软件可包括导航***100。例如,第一软件426可包括预定层级模块502、预定距离计算器模块504、预先计算模块506、删除模块508、路线规划模块512、以及显示模块520。
第4图的第一控制单元412可执行第一软件426使预定层级模块502计算预定抵达层级220。第一控制单元412可执行第一软件426使预定距离计算器模块504计算预定距离224。
第一控制单元412可执行第一软件426使预先计算模块506、删除模块508、或其组合产生目标位置238。第一控制单元412可执行第一软件426使简化图形产生器模块510产生简化图形。第一控制单元412可执行第一软件426使路线规划模块基于目标位置238产生到目的地206的行进路线214。
显示模块520可代表第4图的第一显示接口430。第一控制单元412可执行第一显示接口以显示行进路线214。
第4图第二装置106的第4图第二软件442可包括导航***100。例如,第二软件422可包括预定层级模块502、预定距离计算器模块504、预先计算模块506、删除模块508、路线规划模块512、以及显示模块520。
第4图的第二控制单元434可执行第二软件442使预定层级模块502计算预定抵达层级220。第二控制单元434可执行第二软件442使预定距离计算器模块504计算预定距离224。
第二控制单元434可执行第二软件442使预先计算模块506、删除模块508、或其组合产生目标位置238。第二控制单元434可执行第二软件442使简化图形产生器模块510产生简化图形。第二控制单元434可执行第二软件442使路线规划模块基于目标位置238产生到目的地206的行进路线214。
显示模块520可代表第4图的第二显示接口440。第二控制单元434可执行第二显示接口440以供显示行进路线214。
导航***100可在第一软件426与第二软件442之间予以分割。例如,第二软件442可包括预定层级模块502、预定距离计算器模块504、预先计算模块506、删除模块508、简化图形产生器模块510、以及路线规划模块512。第二控制单元434可执行如前述在第二软件442上分割的模块。
第一软件426可包括显示模块520。第一软件426可基于第4图第一储存单元414的尺寸包括导航***100的附加模块。第一控制单元412可执行如前述在第一软件426上分割的模块。
第4图的第一使用者接口可接收使用者对于目的地206的输入。第一控制单元412可操作第4图的第一通讯单元416以将输入传送到第二装置106。第一控制单二412可操作第一软件426以操作第4图的位置单元420。
第4图的第二通讯单元436可经由第4图的通讯路径104将行进路线214传送到第一装置102。可在第一显示接口430及第二装置上显示行进路线214。
已发现的是,本发明提供导航***100用以在交通工具内对导航***100及其它使用者接口***提供安全操作。益处是藉由产生目标位置238予以提供用于加速并且降低计算负担以供产生行进路线214辅助使用者更快速地观视行进路线214以更安全地操作交通工具而抵达目的地206。另外,藉由预先计算、删除、或其组合产生目标位置238,导航***100可降低计算负担并且对估计抵达层级218、估计计算层级226、估计替代运输时间230、估计区段行进时间234、估计区段财务成本236、或其组合计算更精确的数值以辅助使用者更安全地操作交通工具。
导航***100以实施例说明模块功能或顺序(order)。模块可有不同的分割。例如,可结合单向模块514和逆单向模块516。每一个模块都可单独并且独立于其它模块操作。
另外,一模块中产生的数据可由另一个模块使用而未彼此直接耦合。例如,预定层级502可产生预定抵达层级220。删除模块508可基于找出估计抵达层级218是否符合或超出预定抵达层级220而产生目标位置238。
现在请参阅第6图,其表示预先计算模块506的流程。预先计算模块506产生交通工具在抵达目标目的地之前可停靠的下一个位置候选清单。例如,预先计算模块506可基于符合或超出第2图预定抵达层级220的第2图估计抵达层级218藉由选择第2图补充位置210产生第2图目标位置238。预先计算模块506可如底下的虚拟程序代码1予以用虚拟程序代码格式表示:
虚拟程序代码1以及随后的虚拟程序代码可用软件、轫体、硬件、或其组合予以实现。虚拟程序代码以示例性格式说明本发明的逻辑,可用Verilog(TM)或VHDL(TM)之类的用硬件描述语言予以实现并且接着合成以形成硬件及逻辑电路。
下表界定虚拟程序代码与说明书组件(specification element)之间的映像。
本表格将标示为第1表:
预先计算模块506可包括初始化器预先计算子模块602(initializer pre-computation submodule;IPCSM)。初始化器预先计算子模块602包括底下功能以初始化用于虚拟程序代码1中的数据结构:
例如,「Graph」界定为代表使用者交通工具可行进的地理区域的地理信息的数据结构。「Graph」可称为Graph或前进图形(graph going forward)。
地图可在图形上提供地理信息。「Node」界定为代表图形上诸如开始位置204、补充位置210、中间停靠站208、目的地206、或其组合之类停靠点的数据结构。「Node」可称为Node或前进节点。节点可包括「Origin」、以及「NextNode」。
「PriorityQueue」界定为代表图形上预先计算模块506可显露的节点清单。「PriorityQueue.clear()」从清单移除节点以清空清单。
「NodeSet」界定为记录已基于图形中身份证明(ID)藉由预先计算模块506实行搜寻而遭遇的节点的数据结构。每一个节点都具有独一ID以容许预先计算模块506识别节点。例如,第一补充位置302的ID可为第一补充位置302的「第一个(first)」。「NodeSet.clear()」从「NodeSet」移除节点。
「TargetList」界定为代表从图形藉由预先计算模块506所选择开始位置204、补充位置210、中间停靠站208、目的地206、或其组合的节点清单的数据结构。「TargetList.clear()」藉由清理数据结构初始化「TargetList」。
「Origin」界定为代表开始位置204的数据结构。「NodeSet.getNode()」界定为用以从图形识别停靠点以及回传(return)节点的函数。在更特定的实施例中,「Graph」和「OriginId」为函数「NodeSet.getNode()」的输入。
「OriginId」界定为开始位置204的ID。例如,「NodeSet.getNode(Graph,OriginId)」可基于「OriginId」从图形回传代表开始位置204的节点。
字段(field)界定为「Node」、「Origin」、以及「NextNode」的组件集合。组件(element)界定为停靠点的特征(characteristic)。「NextNode」界定为代表下一个停靠点的数据结构。若引进字段而未指明「Node」、「Origin」、或「NextNode」,则字段由「Node」、「Origin」、以及「NextNode」共享。然而,若字段是特定于数据结构,则将引进具有特定数据结构的字段。例如,「charge」界定为「Node」的字段。随后将说明「NextNode」的相关细节。
「cost」界定为代表估计区段行进时间234、估计区段财务成本236、或其组合的字段。「Origin.cost」界定为开始位置204处估计区段行进时间234、估计区段财务成本236、或其组合的数据结构。在这里,「Origin.cost=0」可设定「Origin.cost」为「0」,这是因为交通工具仍位于「Origin」时未带来「cost」。行进成本可代表估计区段行进时间234、估计区段财务成本236、或其组合。
「charge」界定为从开始位置204行进行进路线214到下一个停靠点后将要剩余的资源、燃料、或其组合之量的「Node」的字段。「fullCharge」界定为资源、燃料、或其组合是满容量。例如,「Origin.charge=fullCharge」可代表开始位置204处对于资源、燃料、或其组合是满容量的目前位置估计层级216。
变量「previous」界定为对前一个节点的字段或指针(pointer)。「Origin.previous=NULL」可表示交通工具位于开始位置204。「PriorityQueue.insert(Origin)」可在「PriorityQueue」里加入「Origin」作为第一节点。
预先计算模块506可包括优先队列预先计算子模块604(priority queue pre-computation submodule;PQPCSM)并且耦接于初始化器预先计算子模块602。优先队列预先计算子模块604为预先计算模块506建立条件以搜寻诸如补充位置210、中间停靠站208、或其组合之类的停靠点。例如,优先队列预先计算子模块604包括底下来自虚拟程序代码1的函数:
While(PriorityQueue.isEmpty()is false)
优先队列预先计算子模块604表示成具有其为「YES」或「NO」以供呼叫(invoke)下一个子模块的逻辑路径的决策盒(decision box)。对子模块的呼叫界定为沿着逻辑路径移到下一个子模块并且执行该下一个子模块。
例如,若符合优先队列预先计算子模块604的条件,则将选择「YES」的逻辑路径并且可呼叫未完成预先计算子模块634(incomplete pre-computation submodule;IPS)。若不符合优先队列预先计算子模块604的条件,则将选择「NO」的逻辑路径并且可呼叫已安妥预先计算子模块606(settled pre-computation submodule;SPCSM)。在本说明书中,其为决策盒的子模块以钻石形状予以描述。若子模块不是决策盒,则可用有别于钻石形状的其它形状描述子模块。
在另一实施例中,「While(PriorityQueue.isEmpty()is false)」可建立「PriorityQueue」是否清空的条件。若「PriorityQueue」是清空的,则可从优先队列预先计算子模块604呼叫未完成预先计算子模块634。随后将说明未完成预先计算子模块634的相关细节。
在第一次呼叫优先队列预先计算子模块604时,若「PriorityQueue.insert(Origin)」成功将「Origin」加入「PriorityQueue」作为第一节点,则「PriorityQueue」界定为未清空。当「PriorityQueue」未清空时,可呼叫已安妥预先计算子模块606。
预先计算模块506可包括已安妥预先计算子模块606并且耦接于优先队列预先计算子模块604。已安妥预先计算子模块606识别具有估计区段行进时间234、估计区段财务成本236、或其组合最低值的「Node」或停靠点。例如,已安妥预先计算子模块606包括底下来自虚拟程序代码1的函数:
Node=PriorityQueue.top()"
Node.settled=true
「PriorityQueue.top()」撷取「PriorityQueue」中具有估计区段行进时间234、估计区段财务成本236、或其组合最低值的「Node」。「PriorityQueue」在第一次呼叫已安妥预先计算子模块606仅可包括「Origin」。「PriorityQueue.top()」将从「PriorityQueue」撷取「Origin」并且对「Origin」将「inQueue」设为「flase」。
「inQueue」为代表「Origin」、「Node」、或「NextNode」是否在「PriorityQueue」内的条件的字段。若「inQueue」设为「false」,则「Node」举例不再含于「PriorityQueue」内。
「Node=PriorityQueue.top()」表示将「PriorityQueue.top()」的回传值指定给「Node」。对于第一次呼叫,「Origin」将指定为「Node」。随后将说明「PriorityQueue.top()」撷取并且指定「Node」而非「Origin」的相关细节。
「settled」界定为用以判断预先计算模块506是否已找到估计区段行进时间234、估计区段财务成本236、或其组合最低值的字段。「Node.settled=true」代表预先计算模块506已找到具有估计区段行进时间234、估计区段财务成本236、或其组合最低值的「Node」的数据结构。
如前所述,「PriorityQueue.top()」可于第一次呼叫已安妥预先计算子模块606撷取「Origin」。由于在「Origin」没有估计区段行进时间234、估计区段财务成本236、或其组合的数值,若「PriorityQueue.top()」回传「Origin」则将「Node.settled」设为「true」。然而,一旦预先计算模块506执行「NextSet.getNode()」,即将「Node.settled」设为「false」。随后将说明「Node.settled=true」判断具有估计区段行进时间234、估计区段财务成本236、或其组合最低值的「Node」而非「Origin」的相关细节。随后将说明执行「NextSet.getNode()」的相关细节。
预先计算模块506可包括目标判断器预先计算子模块608(target determinatorpre-computation submodule;TDPS)并且耦接于已安妥预先计算子模块606。目标判断器预先计算子模块608识别是否已符合节点是可为目标位置238的停靠点之一的条件。例如,目标判断器预先计算子模块608包括底下用以识别虚拟程序代码1中条件的函数:
If(Node.target is true)
「target」界定为让节点判断节点是否可以是可为目标位置238的停靠点之一的字段。若「target」设为「true」,则「NodeSet.getNode」可回传要予以含括在目标位置238中的节点。另外,若「target」为「true」,则预先计算模块506可呼叫干扰源预先计算子模块610(aggressor pre-computation submodule;APS)。随后将说明干扰源预先计算子模块610的相关细节。
若「target」设为「false」,则无法将节点含括在目标位置238中。预先计算模块506可呼叫取得连结预先计算模块614(get-link pre-computation submodule;GLPCSM)。
取得连结预先计算模块614是耦接于目标判断器预先计算子模块608。取得连结预先计算模块614识别从一停靠点到另一个的路径。例如,路径可包括介于开始位置204到第一补充位置302之间的第2图行进区段212。在另一实施例中,取得连结预先计算模块614包括底下如虚拟程序代码1所述用以识别路径的函数:
Links=Graph.getLinks(Node.id)
「Links」界定为起自那一停靠点的许多路径的数组。例如,行进区段212可起自开始位置204到第一中间停靠站312。
节点(node)可具有多个起自相同节点的「Links」。例如,开始位置204可具有两条起自开始位置204的行进区段212的路径。在另一实施例中,起自开始位置204的「Links」可包括到第一补充位置302的行进区段212以及到第一中间停靠站312的行进区段212。
「Links」可具有底下字段:「cost」和「nextId」。「Links.cost」界定为用于行进「Links」表示估计区段行进时间234、估计区段财务成本236、或其组合的数据结构。「nextId」界定为表示目前「Node」之后下一个停靠点的ID的字段。
「id」界定为身份证明(ID)字段。「Graph.getLinks(Node.id)」可识别来自「Graph」的「Node」相关的「Links」。若「Node」不在「NodeSet」中,如此,预先计算模块506有待遇到「Node」,「getLinks()」也可产生「Node」、对「Node」设定所有字段、并且包括「NodeSet」中的「Node」。
「Links=Graph.getLinks(Node.id)」可表示对「Links」指定与那「Node.id」相关的路径的取得连结预先计算子模块614。例如,「Graph.getLinks(Node.id)」可识别起自开始位置204的路径。在更特定的实施例中,对于开始位置204的「Links」可表示到第一补充位置302的行进区段212以及到第一中间停靠站312的行进区段212。
预先计算模块506可包括连结计数器预先计算模块616(link-counter pre-computation submodule;LCPS)并且耦接于取得连结预先计算子模块614。连结计数器预先计算模块616建立条件以供预先计算模块506以估计区段行进时间234、估计区段财务成本236、或其组合的最小值搜寻停靠点,如补充位置210。例如,连结计数器预先计算模块616包括底下用以建立条件的函数:
For(i=0;i<Links.count();i=i+1)
「Links.count()」计算「Links」可具有的路径数目。由之前的实施例得知,开始位置204、「Links.count()」可回传「二」作为起自开始位置204的路径数目。
「i」表示数组内代表「Links」的位置。例如,数组的第一个位置表示为「0」。「i=0」表示「i」是定位在数组的第一个位置。在本实施例中,「i=0」表示「i」定位在「Links」的第一个位置。「i++」表示函数沿着数组将「i」的位置移到下一个位置。例如,对于开始位置204的「Links」可依序具有到第一补充位置302的行进区段212以及到第一中间停靠站312的行进区段212。在更特定的实施例中,「i=0」可表示到第一补充位置302的行进区段212作为「Links」的第一位置。「i++」可将「i」移到「i=1」。「i=1」可对于「Links」的第二部份表示到第一中间停靠站312的行进区段212。
在另一实施例中,「For(i=0;i<Links.count();i=i+1)」可建立条件用以搜寻估计区段行进时间234、估计区段财务成本236、或其组合的最小值,而「Links.count()」则可针对「Links」计算。更具体地说,预先计算模块506直到「For(i=0;i<Links.count();i=i+1)」不再可递增「i」才可继续呼叫连结计数器预先计算子模块616。
若「Links.count()」可对「Links」计算,则预先计算模块506可呼叫取得节点预先计算子模块618(get-node pre-computation submodule;GNPCSM)。若「Links.count()」无法对「Links」计算,则预先计算模块506可呼叫优先队列预先计算子模块604。随后将说明取得节点预先计算子模块618的相关细节。
预先计算模块506可包括取得节点预先计算子模块618并且耦接于连结计数器预先计算模块616。取得节点预先计算子模块618基于「Links」中可得的路径对下一个停靠点进行候选识别。例如,取得节点预先计算子模块618包括底下如虚拟程序代码1中所述的函数以对下一个停靠点进行候选识别:
id=Links[i].nextld
NextNode=NodeSet.getNode(Graph,id)
「id=Links[i].nextld」在穿越「Links[i]」中可得的路径后基于下一个停靠点设定「id」。例如「i」可为「0」。在另一实施例中,「Links[0]」可表示从开始位置206到第一补充位置302的行进区段212。下一个停靠点在穿越行进区段212后可为第一补充位置302。「Links[i].nextld」可表示用于指示「Links[i]」或路径正朝前的方向的数据结构。例如,「Links[0].nextld」可朝向第一补充位置302。取得节点预先计算子模块618可执行「id=Links[i].nextld」以对于第一补充位置302设定「id」。
「NextNode=NodeSet.getNode(Graph,id)」回传具有要予以分配给「NextNode」的「id」的「Node」。例如,「id」可表示第一补充位置302的ID。「NodeSet.getNode(Graph,id)」可回传第一补充位置302的「Node」。「NextNode =NodeSet.getNode(Graph,id)」可将第一补充位置302设定为「NextNode」。预先计算自模块506可继续呼叫取得节点预先计算子模块618直到连结计数器预先计算子模块616无法对「Links」递增「i」。
预先计算模块506可包括内伫预先计算子模块620(in-queue pre-computationsubmodule;IQPS)并且耦接至取得节点预先计算子模块618。内伫预先计算子模块620识别「NextNode」是在「PriorityQueue」中的条件是否已符合。例如,内伫预先计算子模块620包括底下如虚拟程序代码1中所述用以识别条件的函数:
If(NextNode.inQueue is true)
Else if(NextNode.settled is false)
第一次呼叫内伫预先计算子模块620时,「NextNode」将不在「PriorityQueue」内。接着,「If(NextNode.inQueue is true)」的条件将不符合并且内伫预先计算子模块620可检查是否符合「Else if(NextNode.settled is false)」的条件。
如前所述,执行「NodeSet.getNode()」将「settled」设定为「false」。在以前,取得节点预先计算子模块618执行「NextNode」的「NodeSet.getNode(Graph.id)」。接着,「NextNode.settled」可予以设定为「false」。
例如,预先计算模块506可藉由呼叫「NodeSet.getNode(Graph.id)」假设「Node」具有起自「Node」的至少一「Links」。另外,预先计算模块506可假设尚未找到估计区段行进时间234、估计区段财务成本236、或其组合的最小值。接着,「NodeSet.getNode(Graph.id)」将「NextNode」的「settled」设定成「false」。因此,第一次呼叫内伫预先计算子模块620可符合「Else if(NextNode.settled is false)」的条件。
预先计算模块506可藉由符合「Else if(NextNode.settled is false)」的条件呼叫计算器预先计算子模块622(calculator pre-computation submodule;CPCSM)。随后将说明计算器预先计算子模块622的相关细节。
作为第一次呼叫的对比,若「NextNode.inQueue」为「true」,从而符合「If(NextNode.inQueue is true)」的条件,则预先计算模块506可呼叫成本预先计算子模块624(cost pre-computation submodule;CPS)。随后将说明成本预先计算子模块624的相关细节。
预先计算模块506可包括计算器预先计算子模块622并且系耦接于内伫预先计算子模块620。计算器预先计算子模块622计算「cost」以供行进到下一个停靠点。例如,计算器预先计算子模块622可计算估计区段行进时间234、估计区段财务成本236、或其组合以供穿越行进区段212。
计算器预先计算子模块622也计算抵达下一个停靠点时剩余的资源、燃料、或其组合的估计量。例如,计算器预先计算子模块622可在穿越行进区段212后计算估计抵达层级218以供抵达一或多个停靠点。在另一实施例中,计算器预先计算子模块622可计算估计抵达层级218以供抵达补充位置210、目的地206、中间停靠站208、或其组合。
计算器预先计算子模块622也可在继续旅程(trip)之前计算可得资源、燃料、或其组合的估计量。例如,计算器预先计算子模块622可计算补充位置210、目的地206、中间停靠站208、或其组合处的目前位置估计层级216。在另一实施例中,计算器预先计算子模块622可计算第一补充位置302处的目前位置估计层级216。
计算器预先计算子模块622也可计算在有别于使用者交通工具的交通工具上行进抵达下一个停靠点所需时间的估计量。例如,计算器预先计算子模块622可计算估计替代运输时间230以供穿越第2图替代运输路线228以抵达补充位置210、目的地206、中间停靠站208、或其组合。
计算器预先计算子模块622包括底下如虚拟程序代码1中所述用以计算估计区段行进时间234、估计区段财务成本236、估计抵达层级218、目前位置估计层级216、以及估计替代运输时间230的函数:
「NextNode.previous=pointer to Node」将指针设定至前一个停靠点。例如,「NextNode」可为第3图的第二补充位置304。「NextNode.previous」可表示第一补充位置302。
「NexNode.cost」界定为「cost」的加总(aggregation)以供沿着抵达下一个停靠点的路径行进。例如,「NextNode.cost」可表示估计区段行进时间234、估计区段财务成本236、或其组合的加总以供从开始位置204或「Origin」抵达下一个停靠点。
计算器预先计算子模块622可藉由加总「Links[i].cost」和「Node.cost」计算「NextNode.cost」。在另一实施例中,「Links[i].cost」可表示估计区段行进时间234、估计区段财务成本236、或其组合以供行进从目前停靠点抵达下一个停靠点的路径。在更具体的实施例中,「Links[0].cost」可表示估计区段行进时间234、估计区段财务成本236、或其组合以供从第一补充位置302、目前停靠点行进行进区段212到第二补充位置304、下一个停靠点。
「Node.cost」可表示估计区段行进时间234、估计区段财务成本236、或其组合的加总以供行进从「Origin」抵达目前停靠点的路径。例如,目前停靠点或「Node」可为第一补充位置302。「Node.cost」可表示估计区段行进时间234、估计区段财务成本236、或其组合的加总以供行进从开始位置204抵达第一补充位置302的行进区段212。接着,「NextNode.cost」可表示针对从开始位置204到第一补充位置302的行进区段212以及从第一补充位置302到第二补充位置304的行进区段212的估计区段行进时间234、估计区段财务成本236、或其组合的加总。
「NextNode.charge」可表示估计抵达层级218以供抵达下一个停靠点或「NextNode」。例如,「NextNode.charge」可表示从第一补充位置302抵达第二补充位置304后的估计抵达层级218。计算器预先计算子模块622可将「Node.charge」减去「Links[i].consumed」而得到「NextNode.charge」。
「Node.charge」界定为停靠点处资源、燃料、或其组合的量。例如,「Node.charge」可表示目前位置估计层级216,其表示交通工具在第一补充位置302时电动车的电费(electric charge)。在另一实施例中,第一补充位置302处的目前位置估计层级216可为100%满电池容量。
估计消耗层级226或「Links[i].consumed」界定为交通工具行进路径所需资源、燃料、或其组合的估计。例如,「Links[0].consumed」可表示估计消耗层级226以供行进从第一补充位置302到第二补充位置304或「NextNode」的行进区段212。在另一实施例中,计算器预先计算子模块622可计算估计消耗层级26以供行进行进区段212。更具体地说,估计消耗层级226可为75%满电池容量。
「NextNode.charge」可表示交通工具抵达第二补充位置304时的估计抵达层级218。计算器预先计算子模块622可藉由将「Node.charge」减去Links[i].consumed计算「NextNode.charge」。在本实施例中,「NextNode.charge」或估计抵达层级218在抵达第二补充位置304后可为25%满电池容量。
「altTime」界定为表示使用者可在替代运输路线228上累积的时间估计的「Node」的字段。例如,「altTime」可表示估计替代运输时间230的加总以供沿着替代运输路线228行进。
「time」表示使用者可取用于行进路径长度的时间估计的「Links」的字段(filed)。对于进一步定义,「time」可同于「cost」。例如,「time」可表示估计区段行进时间234。
「NextNode.altTime」界定为在抵达「NextNode」的替代运输路线228上累积的时间。例如,「Node」可为第二中间停靠站314以及「NextNode」可为目的地206。在另一实施例中,「Links[1]」可表示从第3图第二中间停靠站314到第2图目的地206的行进区段212。行进区段212可为替代运输路线228以供抵达目的地206或「NextNode」。「Links[1].time」可表示使用者花在行进行进区段212上的时间。「Links.[1].time」可为40分钟。
计算器预先计算子模块622可执行「Node.altTime+Links[i].time」以计算「NextNode.altTime」。例如,从第3图的第三补充位置306到第二中间停靠站314的行进区段212以及从第二中间停靠站314到目的地206的行进区段212可表示替代运输路线228。用于行进从第三补充位置306到第二中间停靠站314的行进区段212的估计替代运输时间230可为70分钟。由前一个实施例得知,「Links.[1].time」可为40分钟用以行进从第二中间停靠站314到目的地206的行进区段212。用于行进两个行进区段212路径的估计替代运输时间230或「NextNode.altTime」的加总可为110分钟。
预先计算模块506可包括安全用料预先计算子模块628(safe charge pre-computation submodule;SCPS)并且耦接于计算器预先计算子模块622。安全用料预先计算子模块628识别是否已符合用于抵达下一个停靠点的资源、燃料、或其组合的估计将大于导航***100所容许最小临界的条件。例如,安全用料预先计算子模块628可识别用于抵达第二补充位置304的估计抵达层级218将大于第3图的预定层级模块502所产生的预定抵达层级220。在另一实施例中,安全用料预先计算子模块628包括底下如虚拟程序代码1所述用以识别条件的功能:
If(NextNode.charge>minimumSafeCharge)
「minimumSafeCharge」界定为导航***100用于规划抵达下一个停靠点的行进路线214所容许的最小临界。例如,「minimumSafeCharge」可表示预定抵达层级220。
从本实施例继续,「NextNode.Charge」或估计抵达层级218在抵达第二补充位置304后可为25%满电池容量。预定层级模块502可产生预定抵达层级220为5%。由于估计抵达层级218在抵达第二补充位置304后可超出预定抵达层级220,安全用料预先计算子模块628可识别交通工具可从第一补充位置302到第二补充位置304沿着行进区段212行进并且符合If(NextNode.charge>minimumSafeCharge)的条件。
预先计算模块506可藉由符合If(NextNode.charge>minimumSafeCharge)的条件呼叫***预先计算子模块630(insert pre-computation submodule;IPS)。若估计抵达层级218小于最小燃料层级,从而无法符合If(NextNode.charge>minimumSafeCharge)的条件,则预先计算模块506可呼叫***预先计算子模块630。随后将说明***预先计算子模块630的相关细节。
安全用料预先计算子模块628可包括额外条件。例如,除了「NextNode.charge >minimumSafeCharge」,安全用料预先计算子模块628可包括「NextNode.altTime is nogreater than maxAltTime」。
「maxAltTime」界定为所找到合理供使用者在替代运输路线228上行进的最大时间量。例如,安全用料预先计算子模块628可计算第2图的配给替代运输行进时间232以供穿越替代运输路线228抵达补充位置210、目的地206、中间停靠站208、或其组合。在另一实施例中,「maxAltTime」可表示配给替代运输行进时间232。
从前一个实施例得知,「NextNode」可为目的地206。「NextNode.altTime」可为110分钟。配给替代运输行进时间232可为120分钟。由于「NextNode.altTime」小于「maxAltTime」,可符合「NextNode.altTime is no greater than maxAltTime」的条件。
先前计算模块506可包括***预先计算子模块630并且耦接安全用料预先计算子模块628。***预先计算子模块630藉由底下来自虚拟程序代码1的功能将下一个停靠点加入「PriorityQueue」:
PriorityQueue.insert(NextNode)
例如,***预先计算子模块630藉由执行「PriorityQueue.insert(NextNode)」并且对「NextNode」设定「inQueue」为「true」将第二补充位置304添加至「PriorityQueue」。***预先计算子模块630可在执行「PriorityQueue.insert(NextNode)」之后呼叫连结计数器预先计算子模块616。继续前一个实施例,预先计算模块506可重新呼叫内伫预先计算子模块620,原因为***预先计算子模块630在「PriorityQueue」中添加「NextNode」。内伫预先计算子模块620可在符合「NextNode.inQueue is true」的条件下呼叫成本预先计算子模块624。
先前计算模块506可包括成本预先计算子模块624并且耦接于内伫预先计算子模块620。成本预先计算子模块624比较介于「Links」之间的「NextNode.cost」以建立用以维持搜寻最小「NextNode.cost」或估计区段行进时间234、估计区段财务成本236、或其组合的最小值的条件。
例如,成本预先计算子模块624可针对每一条表示行进区段212的路径比较估计区段行进时间234、估计区段财务成本236、或其组合。在另一实施例中,成本预先计算子模块624可比较从开始位置204行进到第一补充位置302的于从开始位置204行进到第一中间停靠站312之间的「NextNode.cost」。成本预先计算子模块624包括底下如虚拟程序代码1中所找到用以比较并且建立条件的功能。
If(NextNode.cost>Links[i].cost+Node.cost)
在特定实施例中,「Links.count()」可为二。「NexNode.cost」此处可表示已在「PriorityQueue」中的「NextNode」的「NextNode.cost」。在另一实施例中,「NextNode.cost」可表示对于「Links[0]」或抵达第一补充位置302的估计区段行进时间234、估计区段财务成本236、或其组合的加总。
此处在成本预先计算子模块624中所呼叫的「Links[i].cost Node.cost」可针对例如不在「PriorityQueue」内的「Links[1]」或「NexNode」表示估计区段行进时间234、估计区段财务成本236、或其组合的加总。在本实施例中,「Node.cost」可表示「Origin.cost」或「0」。在另一实施例中,「Links[1].cost +Node.cost」可表示估计区段行进时间234、估计区段财务成本236、或其组合的加总以供抵达第一中间停靠站312。
继续本实施例,若针对「Links[0]」的估计区段行进时间234、估计区段财务成本236、或其组合的加总大于「Links[1]」,则预先计算模块506可呼叫移除预先计算子模块626(remove pre-computation submodule;RPCSM)。移除预先计算子模块626的呼叫可表示估计区段行进时间234、估计区段财务成本236、或其组合的加总大于第一中间停靠站312以抵达第一补充位置302。对比之下,若针对「Links[0]」的估计区段行进时间234、估计区段财务成本236、或其组合的加总小于「Links[1]」,则预先计算模块506可呼叫连结计数器预先计算模块616。
预先计算模块506可包括移除预先计算子模块626并且耦接于成本预先计算子模块624。移除预先计算子模块626移除已在队列内无法符合成本预先计算子模块624中所指定条件的「NextNode」。例如,移除预先计算子模块626包括底下如虚拟程序代码1中所找到用以移除「NextNode」的功能。
PriorityQueue.remove(NextNode)
继续上一个实施例,若对于「Links[0]」的估计区段行进时间234、估计区段财务成本236、或其组合的加总大于「Links[1]」,则移除预先计算子模块626可执行「PriorityQueue.remove(NextNode)」以移除表示第一补充位置302的「NextNode」。移除之后,预先计算模块506可呼叫计算器预先计算子模块622以基于例如「Links[1].cost+Node.cost」设定「NextNode.cost」,理由是抵达第一中间停靠站312的估计区段行进时间234、估计区段财务成本236、或其组合的加总小于第一补充位置302。
预先计算模块506可包括干扰源预先计算子模块610并且耦接于目标判断器预先计算子模块608。干扰源预先计算子模块610将具有「target」为「true」的「Node」添加至「TargtList」。「TargetList」界定为表示预先计算模块506所发现可在目标位置238中选择的停靠点的清单的数据结构。
例如,干扰源预先计算子模块610可基于符合或超出预定抵达层级220的估计抵达层级218选择补充位置210、中间停靠站208、目的地206、或其组合。目前位置估计层级216可藉由具有符合或超出预定抵达层级220的估计抵达层级218而符合或超出估计消耗层级226。接着,干扰源预先计算子模块610可基于符合或超出估计消耗层级226的目前位置估计层级216选择补充位置210、中间停靠站208、目的地206、或其组合。
另外,干扰源预先计算子模块610可藉由符合「NextNode.altTime is no greaterthan maxAltTime」的条件基于符合或超出估计替代运输时间230的配给替代运输行进时间232选择补充位置210、中间停靠站208、目的地206、或其组合。在呼叫成本预先计算子模块624之后,干扰源预先计算子模块610可利用最短估计区段行进时间234、利用最低估计区段财务成本236或其组合选择补充位置210、中间停靠站208、目的地206、或其组合以供穿越表示行进区段212各路径。
例如,干扰源预先计算子模块610包括底下如出自虚拟程序代码1所示用以添加「Node」的功能:
TargetList.add(Node)
干扰源预先计算子模块610可执行TargetList.add(Node)以添加代表其可为众中选一(one out of many)的补充位置210的「Node」到「TargetList」。一旦「Node」添加到「TargetList」,预先计算模块506即可呼叫目标计数预先计算子模块612(target countpre-computation submodule;TCPS)。
预先计算模块506可包括目标计数预先计算子模块612并且耦接于干扰源预先计算子模块610。目标计数预先计算子模块612识别「TargetList」的大小是否等于「targetCount」的条件。例如,干扰源预先计算子模块610包括底下也在虚拟程序代码1中所找到用以识别条件的功能:
If(TargetList.size()equals targetCount)
预先计算模块506可包括回传预先计算子模块632(return pre-computationsubmodule;RPS)并且耦接于目标计数预先计算子模块612。回传预先计算子模块632回传停靠点清单。例如,回传预先计算子模块632可基于符合或超出预定抵达层级220的估计抵达层级218产生目标位置238。在另一实施例中,回传预先计算子模块632包括底下如虚拟程序代码1中所示的功能:
Return TargetList
在特定实施例中,「TargetList」可包括第一补充位置302、第二补充位置304、第三补充位置306、第二中间停靠站314、以及目的地206。第一补充位置302、第二补充位置304、第三补充位置306、第二中间停靠站314、以及目的地206可表示停靠点以供交通工具安全地停靠而未耗尽资源、燃料、或其组合。
预先计算模块506可包括未完成预先计算子模块634并且耦接于优先队列预先计算子模块604。若未符合优先队列预先计算子模块604的条件,则未完成预先计算子模块634回传停靠点未完成清单。例如,未完成预先计算子模块634包括底下功能:
Return TargetList
起于计算估计抵达层级218、目前位置估计层级216、估计消耗层级226、估计替代运输时间230、估计区段行进时间234、估计区段财务成本236、或其组合的实体转换基于导航***100的操作导致在实体世界中移动,如人们使用第1图的第一装置102、交通工具、或其组合。随着实体世界中出现移动,移动本身产生转换回去以产生目标位置238供继续操作导航***100并且继续在实体世界中移动的额外信息。
已发现到的是,本发明提供导航***100以产生目标位置238用于减少必需考量以便藉由导航***100产生行进路线214的节点数目。可事先计算代表介于开始位置204、补充位置210、中间停靠站208、目的地206、或其组合之间的行进区段212的路线以供产生节点少得多的简化图形。预先计算节点产生目标位置238可藉由允许导航***100更快速并且精确地产生行进路线214辅助更安全地操作交通工具抵达目的地206。
请参阅第7图,其表示删除模块508的流程。删除模块508删除不必要的可勿略节点。例如,删除模块508可基于符合或超出第2图预定距离224的第2图区段距离222藉由选择第2图补充位置210、第2图目的地206、第2图中间停靠站208、或其组合产生第2图的目标位置238。删除模块508可如底下虚拟程序代码2以虚拟程序代码格式予以表示:
底下表格界定虚拟程序代码与说明书组件之间的映像。本表格将予以标示为第2表:
虚拟程序代码参数 | 说明书组件 |
Distance | 区段距离222 |
graph.minDistance(id) | 预定距离224 |
删除模块508可包括如第6图所述各具有相同功能、建立相同条件、或其组合的优先队列预先计算子模块604、已安妥预先计算子模块606、目标判断器预先计算子模块608、以及取得连结预先计算模块614。删除模块508可包括如第6图所述各具有相同功能、建立相同条件、或其组合的干扰源预先计算子模块610、目标计数预先计算子模块612、回传预先计算子模块632以及未完成预先计算子模块634。
删除模块508可包括如第6图所述各具有相同功能、建立相同条件、或其组合的连结计数器预先计算模块616、取得节点预先计算子模块618、内伫预先计算子模块620、以及成本预先计算子模块624。删除模块508可包括如第6图所述各具有相同功能、建立相同条件、或其组合的移除预先计算子模块626、安全用料预先计算子模块628、以及第十五个预先计算子模块。
删除模块508可包括初始化器删除子模块702(initializer pruning submodule;IPSM)。初始化器删除子模块702可包括如同第6图初始化器预先计算子模块602具有底下改进用以初始化用在虚拟程序代码2的数据结构的功能:
Origin.distance=0
「distance」界定为供节点判断对节点计算的路线上从「Origin」到节点的实体距离的字段。例如,「distance」可表示区段222。在这里,「Origin.distance」设定为「0」,理由是交通工具已不再行进。
删除模块508可包括距离删除子模块704(distance pruning submodule;DPSM)并且耦接到内伫预先计算子模块620。距离删除子模块704计算从一停靠点到另一个的路径长度。例如,距离删除子模块704可计算第2图行进区段212的区段距离222以供抵达补充位置210、中间停靠站208、目的地206、或其组合。距离删除子模块704可包括如同第6图计算器预先计算子模块622具有底下改进用以初始化虚拟程序代码2中所使用数据结构的功能:
NextNode.distance=Node.distance+Links[i].distance
「NextNode.distance」可表示从第2图开始位置204到下一个停靠点的区段距离222的加总。「Node.distance」可表示从开始位置204到目前停靠点的区段距离222的加总。「Links[i].distance」可表示从目前停靠点到下一个停靠点的路径的区段距离222。「Links[i]」可表示有超过一条代表从目前停靠点到下一个停靠点的行进区段212的路径。
例如,「Node」可表示第3图的第一补充位置302。「Node.distance」可为40公里。「Links[i].distance」可表示从第一补充位置302到「NextNode」的区段距离222。在更特定的实施例中,「Links[0].distance」可为50公里。然后,「NextNode.distance」可为90公里。
删除模块508可包括条件式删除子模块706(conditional pruning submodule;CPSM)并且耦接于安全用料预先计算子模块628。条件式删除子模块706检测从目前位置到下一个停靠处存在的路径是否小于「NextNode.distance」或预定距离224。条件式删除子模块706包括底下出自虚拟程序代码2用以判断是否已符合条件的功能:
If(NextNode.reach is not less than NextNode.distance or not less thangraph.minDistance(id))
「reach」界定为供节点表示节点抵达边界(reach bound)的字段。「graph.minDistance(id)」界定为用以计算从「Node」到「NextNode」的欧几里德距离(Euclidean distance)的函数。例如,「graph.minDistance(id)」可计算预定距离224。
在另一实施例中,「Node」可表示第3图的第一中间停靠站312。从第3图中第一中间停靠站312到第四补充位置308的预定距离224可为25公里。然而,对于从第一中间停靠站312到第四补充位置308的行进区段212的区段距离可为15公里。由于区段距离222小于预定距离224,从第一中间停靠站312到第四补充位置210的行进区段212可予以删除。接着,删除模块508可藉由不选择到目标位置238的行进区段212而避免考虑行进区段212。若行进区段212是抵达第四补充位置308的唯一路径,则删除模块508也可删除第四补充位置308。
相比之下,从开始位置204到第一补充位置302的预定距离224可为35公里。从开始位置204到第一补充位置302的区段距离222可为40公里。删除模块508可针对目标位置238选择从开始位置204到第一补充位置302的行进区段212以及第一补充位置302。例如,干扰源预先计算子模块610可基于符合或超出预定距离224的区段距离222而选择补充位置210、中间停靠站208、目的地206、或其组合。
起自预定距离224、区段距离222或其组合的实体转换导致实体世界中的移动,比如人们基于导航***100的操作而使用第1图的第一装置、交通工具、或其组合。随着实体世界中出现移动,移动本身产生转换回去用以产生目标位置238以供继续操作导航***100并且继续在实体世界中移动的额外信息。
已发现到的是,本发明提供导航***100用以产生目标位置238以供删除可予以忽略的节点而改善导航***100产生行进路线214的效率。可忽略表示达不到(fall shortof)预定距离224的行进区段212的路线以减轻导航***100产生行进路线214所考量的计算负担。产生节点遭删除的目标位置238可藉由允许导航***100更快速并且精确地产生行进路线214而辅助更安全地操作交通工具以抵达目的地206。
现在请参阅第8图,其表示简化图形产生器模块510的流程。简化图形产生器模块510产生简化图形。简化图形产生器模块510可如底下虚拟程序代码3中以虚拟程序代码格式予以表示:
下表界定虚拟程序代码与说明书组件之间的映像。本表格将予以标示为第3表:
虚拟程序代码参数 | 说明书组件 |
TargetNodeList | 第2图的目标位置238 |
简化图形产生器模块510可包括初始化器简化图形产生器子模块802(initializer simplified graph generator submodule;ISGGSM)。初始化器简化图形产生器子模块802包括底下如虚拟程序代码3中所使用产生目标位置238的功能:
For each Node in OriginList
TargetNodeList=RoutePrecompute(Graph,Node,TargetListSize,
fullCharge,minimumSafeCharge)
「OriginList」界定为路线将开始予以计算所由来节点的清单。例如,起于第2图的开始位置204,「OriginList」可包括第3图的第一补充位置302、第3图的第一中间停靠站312、或其组合。
「TargetListSize」界定为图形中目标节点的数目。例如由第3图,目标位置238可包括第一补充位置302、第3图的第二补充位置304、第3图的第三补充位置306、第3图的第二中间停靠站314、以及第2图的目的地206。「TargetListSize」可为5。
「RoutePrecompute()」界定为回传目标位置238并且将其设为「TargetNodeList」的函数。例如,「RoutePrecompute()」可回传包括第一补充位置302、第二补充位置304、第三补充位置306、第二中间停靠站314、以及目的地206的目标位置238。
「TargetNodeList」界定为目标节点的清单。例如,「TargetNodeList」可表示目标位置238。
简化图形产生器模块510可包括连结简化图形产生器子模块804(linkingsimplified graph generator submodule;LSGGSM)并且耦接于初始化器简化图形产生器子模块802。连结简化图形产生器子模块804包括底下如虚拟程序代码3中所使用对目标位置238中每一个节点产生连结的功能:
「Link」界定为从一节点到另一个的路径。「Link」可具有如同前述「Links」的特征。
例如,「Link.originld=Node.id」识别「Link」开始处停靠点的ID。更具体地说,若「Node.id」为开始位置204的ID,则「Link.originID」可予以关联为起于开始位置204的「Link」。
「Link.nextld=TargetNode.id」识别「Link」终止处的停靠点。更具体地说,「TargetNode」可表示目标位置238中的停靠点。例如,「TargetNode」可表示第一补充位置302。「Link.nextId」可予以关联为从开始位置204抵达第一补充位置302的「Link」。
「Link.cost=TargetNode.cost」计算用以行进到下一个停靠点的成本估计。更具体地说,「TargetNode.cost」可表示第2图的估计区段行进时间234、第2图的估计区段财务成本236、或其组合以抵达表示目标位置238的停靠点。例如,「Link.cost」可表示估计区段行进时间234以供抵达第一补充位置302。
「Link.consumed=fullCharge-TargetNode.charge」计算交通工具行进路径抵达下一个停靠点所需资源、燃料、或其组合的估计量。更具体地说,「Link.consumed」可表示第2图的估计消耗层级226。「fullCharge」可表示满电池容量。「TargetNode.charge」可表示估计抵达层级218以供抵达下一个停靠点。例如,用于从开始位置204行进第2图行进区段212到第一补充位置302的估计消耗层级226可藉由将满电池容量减去估计抵达层级218予以计算。
「Link.time=TargetNode.altTime」计算需用以沿着第2图的替代运输路线228行进以供抵达下一个停靠点的时间估计量。更具体地说,「TargetNode.altTime」可表示用以抵达表示目标位置238的停靠点的第2图估计替代运输时间230。例如,「Link.time」可表示估计替代运输时间230以供从第3图的第二中间停靠站314抵达第2图的目的地206。
简化图形产生器模块510可包括转换简化图形产生器子模块806(transfersimplified graph generator submodule;TSGGSM)并且耦接于连结简化图形产生器子模块804。转换简化图形产生器子模块806包括底下如虚拟程序代码3中所使用产生简化图形的功能:
「NewGraph」界定为预先计算路线是予以添加于其作为连结的简化图形。从前一个实施例继续,「Copy node with id Link.originld from Graph to NewGraph if notalready copied」可将开始位置204的ID从「Graph」指定到「NewGraph」。「Copy node withid Link.nextld from Graph to NewGraph if not already copied」可将第一补充位置302的ID从「Graph」指定到「NewGraph」。
「Create a link in NewGraph with the same field values as Link」可将从开始位置204行进到第一补充位置302具有估计区段行进时间234、估计区段财务成本236、或其组合的连结从「Graph」指定到「NewGraph」。「Create a link in NewGraph with thesame field values as Link」也可将从第二中间停靠站314行进到目的地206具有估计消耗层级226和估计替代运输时间230的连结从「Graph」指定到「NewGraph」。
出自产生简化图形的实体转换基于导航***100的操作导致实体世界中的移动,比如人们使用第一图的第一装置102、交通工具、或其组合。随着实体世界中出现移动,移动本身产生系转换回去以产生行进路线214供继续操作导航***100并且继续在实体世界中移动的额外信息。
已发现到的是,本发明藉由消除产生行进路线214所需考虑的节点数目基于简化图形提供导航***100以更有效率地产生行进路线214。可忽略无法将其制作在简化图形上的节点以减轻产生行进路线214的计算负担。简化图形可藉由允许导航***100更快速并且精确地产生行进路线214辅助更安全地操作交通工具以抵达目的地206。
现在请参阅第9图,其表示单向模块514的流程。单向模块514产生从「Origin」到目标目的地的路径。更具体地说,单向模块514可基于简化图形中计算的连结产生介于表示第2图补充位置210的多个位置之间的路径。
例如,单向模块514可产生经由第2图补充位置210、第2图中间停靠站208、或其组合到第2图目的地206的第2图行进路线214。单向模块514可如底下虚拟程序代码4中以虚拟程序代码格式予以表示:
下表界定虚拟程序代码与本说明书组件之间的映像。本表格将予以标示为第4表:
虚拟程序代码参数 | 说明书组件 |
State | 不均等 |
单向模块514可包括如第6图中所述各具有相同功能、建立相同条件、或其组合的优先队列预先计算子模块604、已安妥预先计算子模块606、以及取得连结预先计算模块614。单向模块514可包括如第6图中所述各具有相同功能、建立相同条件、或其组合的连结计数器预先计算模块616、内伫预先计算子模块620、计算器预先计算子模块622、成本预先计算子模块624、以及移除预先计算子模块626。
单向模块514也可包括初始化器单向子模块902(initializer uni-directionalsubmodule;IUSM)。初始化器单向子模块902包括底下虚拟程序代码4中所使用初始化数据结构的功能:
「initialCharge」界定为可得于开始位置204的资源、燃料、或其组合之量的「Origin」的字段。「state」系界定为表示是否已将停靠点添加至第2图目标位置238的状态的节点的字段。例如,若路径经计算节点尚未包括预先计算补充连结,则「state」等于「1」。若不计等待连结的最近连结为预先计算补充连结,则「state」等于「2」。在其它情境中,「state」等于「3」,并且未考虑补充。「Origin.state=1」将「Origin」的「state」设定为「1」,理由是不需要预先计算对开始位置204的连结。
单向模块514可包括目的地单向子模块904(destination uni-directionalsubmodule;DUS)并且耦接于初始化器单向子模块902。目的地单向子模块904识别是否已符合节点为目标目的地的条件。例如,目的地单向子模块904可由目标位置238识别中间停靠站208、目的地206、或其组合。在另一实施例中,目的地单向子模块904包括底下虚拟程序代码4中用以识别条件的功能:
If(Node.id equals Destinationld)
「Destinationld」界定为表示目的地206的节点的ID。若「Node.id」等于「DestinationId」,则目的地单向子模块904可识别节点作为目的地206。若「Node.id」可等于「DestinationId」,则目的地单向子模块904可呼叫错误单向子模块928(error uni-directional submodule;EUS)。对比之下,若「Node.id」不等于「DestinationId」,则目的地单向子模块904可呼叫取得连结预先计算模块614。
单向模块514可包括识别器单向子模块906(identifier uni-directionalsubmodule;IUS)并且耦接于取得连结预先计算模块614。识别器单向子模块906识别是否已符合节点为补充位置210的条件。例如,识别器单向子模块906可由目标位置238识别补充位置210。
另外,识别器单向子模块906识别「state」值是否小于3的条件。在另一实施例中,识别器单向子模块906包括底下出自虚拟程序代码4用以识别条件的功能:
If(Node.replenishment is true and Node.state is less than3)
「replenishment」界定为用以表示节点是否为补充位置210的节点的字段。若「replenishment」设定为「true」,则节点为表示补充位置210的停靠点。例如,表示第3图第一补充位置302的节点可具有设定为「true」的「replenishment」。
若节点为表示目标位置238的停靠点之一,则节点的「state」的值可小于「3」。例如,第一补充位置302可为表示目标位置238的停靠点之一。识别第一补充位置302的单向模块514可满足If(Node.replenishment is true and Node.state is less than3)的条件。
单向模块514可包括成本单向子模块908(cost uni-directional submodule;CUS)并且耦接于识别器单向子模块906。成本单向子模块908计算与交通工具在补充位置210进行补充相关的时间成本、货币成本、或其组合。
在另一实施例中,成本单向子模块908可计算时间成本、货币成本、或其组合以供对交通工具补充资源、燃料、或其组合。在另一实施例中,成本单向子模块908包括底下如出自虚拟程序代码3用以计算时间成本、货币成本、或其组合的功能:
「Link」在这里界定为表示对于每一个补充机会供补充交通工具的等待连结的数据结构。例如,那停靠点或「Node.id」可表示第一补充位置302。在另一实施例中,「Link.nextld」可表示第一补充位置302处的等待连结。
「Link.cost」界定为与补充位置210处补充交通工具相关联的时间成本、货币成本、或其组合。成本单向子模块908可藉由执行「Graph.rechargeCost()」计算「Link.cost」。「Graph.rechargeCost()」可从简化图形撷取有关于补充交通工具的「cost」信息。
「Link.consumed」界定为需用以将交通工具补充到满容量的补充量。例如,补充量可等于第2图的估计消耗层级226。
「Links.add(Link)」将连结添加至连结数组。成本单向子模块908可藉由将「Link」添加至「Links」计算用于行进那特殊「Links」相关的「cost」。
单向模块514可包括取得节点单向子模块910(get-node uni-directionalsubmodule;GUSM)并且耦接于连结计数器预先计算模块616。取得节点单向子模块910基于第2图的估计抵达层级218识别候选的下一个停靠点以供交通工具抵达下一个停靠点。例如,取得节点单向子模块910可包括如出自虚拟程序代码4具有「NodeSet.getNode()」另一输入的第6图取得节点预先计算子模块618中所述的相同功能:
NextNode=NodeSet.getNode(Graph,id,Node.charge-Links[i].consumed)
函数「NextNode=NodeSet.getNode(Graph,id,Node.charge-Links[i].consumed)」可表示如同第6图中所述「NodeSet.getNode()」的函数另外再具有一输入「Node.charge–Links[i].consumed」。「Node.charge」如第6图中所述。「Links[i].consumed」如第6图中所述。取得节点单向子模块910可执行「NodeSet.getNode(Graph,id,Node.charge-Links[i].consumed)」以回传具有如第6图中所述「NextNode.charge」的下一个停靠点。
在更具体的实施例中,「NextNode」将如第6图中所述具有「NextNode.charge」或估计抵达层级218。如第6图所示,「NodeSet.getNode(Graph,id,Node.charge -Links[i].consumed)」可回传第一补充位置302,附随交通工具有25%的「NextNode.charge」或估计抵达层级218。
单向模块514可包括真值单向子模块912(true uni-directional submodule;TUS)并且耦接于取得节点单向子模块910。真值单向子模块912识别「NextNode」是否与「Node」不同的条件。例如,真值单向子模块912包括底下如虚拟程序代码4所述用以识别条件的功能:
If(Node.replenishment is true and Node.id equals id)
在另一实施例中,「If(Node.replenishment is true and Node.id equals id)」可为如同第6图目标判断器预先计算子模块608「If(Node.replenishment is true)」的功能另加一输入。「Node.id equals id」验证「NextNode.id」是否如同「Node.id」。例如,「Node.id」可表示第一补充位置302。若「NextNode.id」也表示第一补充位置302,则真值单向子模块912可呼叫未补充单向子模块914(non-replenish uni-directional submodule;NRUS)。
单向子模块514可包括未补充单向子模块914并且耦接于真值单向子模块912。未补充单向子模块914对「nextNode」将「replenishment」设定为「false」。例如,未补充单向子模块914可用底下出自虚拟程序代码4的功能设定「replenishment」:
NextNode.replenishment=false
单向模块514藉由将「replenishment」设定成「false」无法包括「NextNode.id」如同「Node.id」。更具体地说,单向模块514可避免对相同位置重复产生供补充位置210的行进路线214。
单向模块514可包括确认器单向子模块916(validifier uni-directionalsubodule;VUS)并且耦接于计算器预先计算子模块622。确认器单向子模块916可识别如真值单向子模块912中所述的相同条件。
单向模块514可包括状态单向子模块918(state uni-directional submodule;SUS)并且耦接于确认器单向子模块916。状态单向子模块918可用底下出自虚拟程序代码4的功能对「NextNode」设计「state」的值:
NextNode.state=2
例如,藉由符合确认器单向子模块916的「Node.id equals id」的条件,停靠点可为第5图预先计算模块506所预先计算最近连结之一。接着,状态单向子模块918可对「NextNode」将「state」的值设定为「2」。
单向模块514可包括无效器单向子模块920(invalidifier uni-directionalsubmodule;IUS)并且耦接于确认器单向子模块916。无效器单向子模块920识别是否已符合虽然到「Node」的路径为最近连结但「NextNode」仍非表示补充位置210的停靠处的条件。例如,无效器单向子模块920包括底下出自虚拟程序代码4用以识别条件的功能:
If(Node.replenishment is false and Node.state equals2)
对于虚拟程序代码4,无效器单向子模块920可建立若停靠点不是补充位置210之一则容许单向模块514避免计算补充交通工具用等待连结的条件。例如,若不符合条件,则无效器单向子模块920可呼叫非状态单向子模块922(non-state unidirectionalsubmodule;NSUS)。
单向模块514可包括非状态单向子模块922并且耦接于无效器单向子模块920。非状态单向子模块922可用底下出自虚拟程序代码4的功能对「NextNode」设定「state」的值:
NextNode.state=3
如前所述,若「state」的值设定为「3」,则单向模块514可避免呼叫成本单向子模块908。更具体地说,将不计算「NexNode」的等待连结。
单向模块514可包括状态单向子模块924(status uni-directional submodule;SUS)并且耦接于无效器单向子模块920。状态单向子模块924可用底下出自虚拟程序代码4的功能对「NextNode」设定「state」的值。
NextNode.state=Node.state
状态单向子模块924对「NextNode」设定「state」的值如同先前于「NextNode」的停靠处。例如,「NextNode」的「state」值可等于「Node」。
单向模块514可包括建构器单向子模块926(constructor uni-directionalsubmodule;CUS)并且耦接于目的地单向子模块904。建构器单向子模块926产生到选自目标位置238各停靠点的路线。例如,建构器单向子模块926可产生到补充位置210、到中间停靠站208、目的地206、或其组合的行进路线214。在另一实施例中,建构器单向子模块926包括底下出自虚拟程序代码4用以产生行进路线214的功能:
Reconstruct Route by following linked list starting at Node.previous
Return route
例如,建构器单向子模块926可产生从位置204经由补充位置210、中间停靠站208、或其组合到目的地206的行进路线214。建构器单向子模块926可将行进路线214传送到第5图的显示模块520。
单向模块514可包括错误单向子模块928并且耦接于优先队列预先计算子模块604。若单向模块514产生行进路线214失败,则错误单向子模块928可回传「error」。
由界定起于目标位置238的补充位置210、中间停靠站208、目的地206、或其组合的实体转换基于导航***100的操作导致实体世界中的移动,比如人们使用第1图的第一装置102、交通工具、或其组合。随着实体世界中出现移动,移动本身产生转换回来以产生行进路线214供继续操作导航***100并且继续在实体世界移动的额外信息。
已发现到的是,本发明提供导航***100藉由预先计算模块506、删除模块508、或其组合基于合并连结产生行进路线214。每一个节点的「state」身份证明都辅助导航***100更精确并且快速地识别补充位置210、中间停靠站208、目的地206、或其组合以供产生行进路线214。更快速并且更精确地产生行进路线214可辅助使用者更安全地操作交通工具抵达目的地206。
现在请参阅第10图,其表示逆单向模块516。逆单向模块516产生从目标目的地到「Origin」的路径。
例如,逆单向模块516可基于从第2图的目标位置238选择第2图的补充位置210、第2图的中间停靠站208、或其组合产生从第2图目的地206到第2图开始位置204的逆行进路线240。逆单向模块516可如虚拟程序代码4以虚拟程序代码格式予以表示具有底下改进。虚拟程序代码4中的「Graph」可用「ReverseGraph」予以取代。
「ReverseGraph」界定为表示像「Graph」的图形的数据结构但其中从节点A到节点B的每一条连结都已藉由从节点B到节点A的连结予以取代。此条连结仍表示从节点A到节点B的行进,但「ReverseGraph.getLinks()」在给定节点B时而非给定节点A时回传连结。
逆单向模块516可包括如第6图所示各具有相同功能、建立相同条件、或其组合的优先队列预先计算子模块604、以及已安妥预先计算子模块606。逆单向模块516可包括如第6图所示各具有相同功能、建立相同条件、或其组合的连结计数器预先计算模块616、内伫预先计算子模块620、计算器预先计算子模块622、成本预先计算子模块624、以及移除预先计算子模块626。逆单向模块516可包括如第6图所示各具有相同功能、建立相同条件、或其组合的安全用料预先计算子模块628、以及第十五个预先计算子模块。
逆单向模块516可包括如第9图所示各具有相同功能、建立相同条件、或其组合的目的地单向子模块904、识别器单向子模块906、真值单向子模块912、以及未补充单向子模块914。逆单向模块516可包括如第9图所示各具有相同功能、建立相同条件、或其组合的确认器单向子模块916、状态单向子模块918、无效器单向子模块920、以及非状态单向子模块922。逆单向模块516可包括如第9图所示各具有相同功能、建立相同条件、或其组合的状态单向子模块924、建构器单向子模块926、以及错误单向子模块928。
逆单向模块516可包括如第9图的初始化单向子模块902将「Graph」取代成「ReverseGraph」、「Origin」取代成目的地206、以及将「OriginId」取代成「DestinationId」而具有相同功能、建立相同条件、或其组合的初始化逆单向子模块1002(initializerreverse uni-directional submodule;IRUSM)。逆单向模块516可包括如第9图之目的地单向子模块904将「OriginId」取代成「DestinationId」而具有相同功能、建立相同条件、或其组合的目的地逆单向子模块1004(destination reverse uni-directional submodule;DRS)。逆单向模块516可包括如第6图的取得连结预先计算子模块614将「Graph」取代成「ReverseGraph」而具有相同功能、建立相同条件、或其组合的取得连结逆单向子模块1006(get-link reverse unidirectional submodule;RLRUSM)。
逆单向模块516可包括如第9图的成本单向子模块908将「Graph」取代成「ReverseGraph」而具有相同功能、建立相同条件、或其组合的成本逆单向子模块1008(costreverse uni-directional submodule;CRUS)。逆单向模块516可包括如第9图的取得节点单向子模块910将「Graph」取代成「ReverseGraph」而具有相同功能、建立相同条件、或其组合的取得逆单向子模块1010(get-node reverse uni-directional submodule;GNRUS)。
已发现到的是,本发明提供导航***100基于合并藉由预先计算模块506、删除模块508、或其组合所预先计算的连结产生从目的地206到开始位置204的逆行进路线240。导航***100可藉由识别来自逆方向的每个停靠点而识别从开始位置204到目的地206产生的行进路线214是否是使用者可行进抵达目的地的最佳路径。藉由识别最佳路线可辅助使用者安全地操作交通工具抵达目的地206而不耗尽资源、燃料、或其组合。
现在请参阅第11图,其表示双向模块518的流程。双向模块518在对于第2图补充位置210至多需要一停靠点时搜寻第2图的行进路线214。例如,双向模块518可产生从第2图目的地206经过补充位置210、第2图中间停靠站208、或其组合以供抵达第2图开始位置204的第2图逆行进路线240。双向模块518可藉由虚拟程序代码5予以说明:
在这里「Graph」为表示图形的数据结构。「ReverseGraph」是其为像是「Graph」的图形的数据结构但其中每一条从节点A到节点B的连结都已藉由从节点B到节点A的连结予以取代。此连结仍表示从节点A到节点B的行进,但「ReverseGraph.getLinks()」在给定节点B时而非给定节点A时回传连结。
「OriginId」及「DestinationId」是输入并且为图形中表示原点与目的地的节点的身份证明。「ReplenishmentIds」是其为内含表示补充位置的节点的身份证明的数组的输入。「fullCharge」是供交通工具伴随或搭配导航***100操作的满料量(amount of fullcharge)。
虚拟程序代码5在第11图中描绘成流程图。双向模块518包括前向双向子模块1102(forward bidirectional submodule;FBSM)并且藉由呼叫同时在虚拟程序代码5中所示的「Route1Replenishment」执行第5图的单向模块514实施前向搜寻(forward search):
ResultForward=RoutelReplenishment(Graph,Originld,Destinationld,
initialCharge,Replenishmentlds)
双向模块518包括结果前向双向子模块1104(result forward bidirectionalsubmodule;RFBSM)并且针对第2图的补充位置210测试(test)从开始位置204到目的地206之前向路线包括一停靠点,虚拟程序代码5中有表示:
If(ResultForward contains a route)
双向模块518包括回传双向子模块1106(return bidirectional submodule;RBSM)以及执行若出自结果前向双向子模块1104的测试产生真值条件(true condition),则不需要补充并且回传产生自单向模块514的路线,如虚拟程序代码5所示:
//No replenishment is needed using the route returned.
Return the route
双向模块518包括前向清空双向子模块1108(forward-empty bidirectionalsubmodule;FBSM)以及执行出自结果前向双向子模块1104的测试是否产生假值条件(flasecondition)。前向清空双向子模块1108测试到目的地206的路线是否只有一个代表补充位置210的停靠点并且有在虚拟程序代码5中表示:
If ResultForward contains no list of nodes
双向模块518包括错误双向子模块1110(error bidirectional submodule;EBSM)。若前向清空双向子模块1108导致不存在路线的条件或导致路线不存在的真值条件,则错误双向子模块1110产生错误,如虚拟程序代码5所示:
//there is no route to reach destination with only one replenishment
Return error
双向模块518包括后向双向子模块1112(backward bidirectional submodule;BBSM)。后向双向子模块1112搜寻从目的地206到开始位置204的路线。后向双向子模块1112藉由呼叫「Route1Replenishment」执行第10图的逆单向模块516实施后向搜寻,在虚拟程序代码5中有表示:
//Otherwise search backward from destination
ResultBackward=Route1Replenishment(ReverseGraph,Destinationld,
Originld,fullCharge,Replenishmentlds)
双向模块518包括结果后向双向子模块1114(result backward bidirectionalsubmodule;RBBSM)。结果后向双向子模块1114测试出自后向双向子模块1112的路线是否具有一代表补充位置210的停靠点,如虚拟程序代码5所示:
If(ResultBackward contains a route)
若结果后向双向子模块1114导致真值条件,则此条件不应该出现并且双向模块518以错误双向子模块1110回传错误,如虚拟程序代码5所示:
//something went wrong;should not happen
Return error
双向模块518包括后向清空双向子模块1116(backward-empty bidirectionalsubmodule;BEBSM)。结果后向双向子模块1114测试出自后向双向子模块1112存在的路线是否具有一停靠点表示补充位置210。结果后向双向子模块1114针对出自结果后向双向子模块1114的非真值条件操作并且在虚拟程序代码5中有表示:
If ResultBackward contains no nodes
双向模块518包括匹配器双向子模块1118(matcher bidirectional submodule;MBSM)。匹配器双向子模块1118执行是否未出现导致错误双向子模块1110的测试。匹配器双向子模块1118寻找表示匹配于产生自「ResultForward」中前向搜寻的路线与产生自「ResultBackward」中后向搜寻的路线之间的补充位置210的所有位置,如虚拟程序代码5中所示:
双向模块518包括清空双向子模块1120(empty bidirectional submodule;EBSM)。清空双向子模块1120测试产生自匹配器双向子模块1118的「Matches」是否是清空的,如虚拟程序代码5中所示:
If Matches is empty
若清空双向子模块1120产生真值条件以致「Matches」是清空的,则双向模块518以错误双向子模块1110回传双向模块518。
双向模块518包括无限双向子模块1122(infinite bidirectional submodule;IBSM)。无限双向子模块1122初始化最小成本「MinCost」至高水标(water mark)作为无限(infinity),如虚拟程序代码5中所示:
MinCost=∞
双向模块518包括成对双向子模块1224(pair bidirectional submodule)、时间双向子模块1126(time bidirectional submodule;TBSM)、较低双向子模块1128(lowerbidirectional submodule;LBSM)、以及检查器双向子模块1130(checker bidirectionalsubmodule;CBSM)。成对双向子模块1124(pairbidirectional submodule;PBSM)跑过所有「Matches」中的节点,如虚拟程序代码5中所示:
For each pair,NodeForward and NodeBackward,in Matches
时间双向子模块1126、较低双向子模块1128、以及检查器双向子模块1130运作直到已检验「Matches」中的所有匹配为止。时间双向子模块1126基于初始用料(initialcharge)「initialCharge」、出自在前向路线上穿越的剩余用料(remaining charge)「NodeForward.charge」、以及任选性出自沿着后向路线穿越的剩余用料「NodeBackward.charge」计算用以于「Matches」中所找到节点补充的时间,如虚拟程序代码5中所示:
replenishmentTime=value computed from initialCharge,
NodeForward.charge,and(maybe)NodeBackward.charge
较低双向子模块1128测试查看「Matches」中连同补充时间的目前节点是否低于先前所计算或设定的最小成本「MinCost」,如虚拟程序代码5中所示:
If(NodeForward.cost+NodeBackward.cost+replenishmentTime<
MinCost)
较低双向子模块1128导致目前节点不小于先前所计算或设定的最小成本「MinCost」,然后(than)搜寻经由「Matches」清单持续并且回传至成对双向子模块1224。
检查器双向子模块1130操作较低双向子模块1128是否导致目前节点小于先前所计算或设定的最小成本「MinCost」。检查器双向子模块1130以较低双向子模块1128、最小前向节点「MinNodeForward」、以及最小后向节点「MinNodeBackward」中所计算的目前成本设定最小成本「MinCost」,如虚拟程序代码5中所示:
MinCost=NodeForward.cost+NodeBackward.cost+replenishmentTime
MinNodeForward=NodeForward
MinNodeBackward=NodeBackward
双向模块518包括建构器双向子模块1132(constructor bidirectionalsubmodule;CBSM)。起于检查器双向子模块1130,搜寻经由「Matches」清单持续并且回传至成对双向子模块1124。当经由匹配的搜寻完成时,成对双向子模块1124持续至建构双向子模块1132。
建构双向子模块1132以检查器双向子模块1130中所计算的最小前向节点「MinNodeForward」、以及最小后向节点「MinNodeBackward」建构路线,如虚拟程序代码5中所示:
Construct route by following linked lists starting at
MinNodeForward.previous and MinNodeBackward.previous
双向模块518包括输出双向子模块1134(output bidirectional submodule;OBSM)。输出双向子模块1134回传建构自建构器双向子模块1132的路线供输出予双向模块518。
起于产生行进路线214、逆行进路线240、或其组合的实体转换基于导航***100的操作导致实体世界中的移动,比如人们使用第1图的第一装置102、交通工具、或其组合。随着实体世界中出现移动,移动本身产生其转换回去产生行进路线214、逆行进路线240、或其组合的额外信息以供继续操作导航***100并且继续在实体世界中的移动。
已发现的是,本发明提供导航***100以精确地识别补充位置210并且有效率地产生行进路线214用于更安全地操作交通工具、导航***100、以及交通工具内的其它使用者接口***。精确度藉由不仅从开始位置204到目的地206还从目的地206到开始位置204搜寻以识别补充位置210而予以提供的。双向方法(approach)可降低错误以供识别交通工具可安全抵达的补充位置210。接着,导航***100可产生其可辅助交通工具安全地经由补充位置210抵达目的地206最适于交通工具补充的行进路线214。
现在请参阅第12图,其表示以本发明另一具体实施例中的受限资源路线规划最佳化器操作导航***100的方法1200的流程图。本方法1200包括方块1202中设定用于抵达补充位置的预定抵达层级;方块1204中计算用于抵达补充位置的估计抵达层级;方块1206中基于符合或超出预定抵达层级的估计抵达层级产生目标位置;以及方块1208中基于从目标位置选择补充位置产生到目的地的行进路线以供在装置上显示。
产生的方法、程序、设备、装置、产品、及/或***可藉由配合已知组件直接、省成本、不复杂、多方面、精确、灵敏并且有效果地予以实现以供现成、有效、以及节约的制造、应用、以及利用。本发明的另一重要态样在于其有价值地支持并且致力于降低成本、简化***、以及提升效能的历史潮流。本发明的这些及其它有价值的态样因此将技术状态推向至少下一个层次。
尽管已连同特定最佳模式说明本发明,要了解的是,根据前述说明,许多替代方案、改进、以及变化对于本领域的技术人员将是显而易知的。因此,意欲襄括所有落于所含括权利要求范畴内的替代方案、改进、以及变化。此前本文所提或附加图式所示的所有内容是以描述及非限制概念予以解读。
Claims (21)
1.一种操作导航***的方法,其包含:
设定用于抵达补充位置的预定抵达层级;
计算用于抵达该补充位置的估计抵达层级;
计算用于穿越一或多个行进区段的估计区段行进时间;
比较用于穿越各该行进区段的该估计区段行进时间;
计算用于抵达该补充位置的预定距离;
计算用于抵达该补充位置的区段距离;
基于符合或超出该预定抵达层级的该估计抵达层级产生目标位置,包括如果该区段距离小于该预定距离,则删除从第一中间停靠站到该补充位置的该行进区段;以及
通过控制单元,基于从该目标位置选择该补充位置产生到目的地的行进路线以供在装置上显示,所述补充位置带有穿越各该行进区段的最短的该估计区段行进时间。
2.根据权利要求1所述的方法,其再包含:
其中产生该目标位置包括基于符合或超出该预定距离的该区段距离选择该补充位置以供至少抵达该补充位置。
3.根据权利要求1所述的方法,其再包含:
计算该补充位置处的目前位置估计层级;
计算用于穿越一或多个行进区段的估计消耗层级;以及
其中产生该目标位置包括基于符合或超出该估计消耗层级的该目前位置估计层级选择该补充位置。
4.根据权利要求1所述的方法,其再包含:
计算用于穿越替代运输路线以抵达该补充位置的配给替代运输行进时间;
计算用于穿越该替代运输路线以抵达该补充位置的估计替代运输时间;以及
其中产生该目标位置包括基于符合或超出该估计替代运输时间的该配给替代运输行进时间选择该补充位置。
5.根据权利要求1所述的方法,其再包含:
计算用于穿越一或多个行进区段的估计区段财务成本;以及
其中产生该目标位置包括:
比较用于穿越各该行进区段的该估计区段财务成本;以及
以用于穿越各该行进区段最低的该估计区段财务成本选择该补充位置。
6.根据权利要求1所述的方法,其中产生该行进路线包括基于从该目标位置选择该补充位置产生从该目的地到开始位置的逆行进路线。
7.根据权利要求1所述的方法,其中产生该行进路线包括基于从该目标位置选择中间停靠站产生从该目的地到开始位置的逆行进路线。
8.根据权利要求1所述的方法,其中基于该目标位置产生到该目的地的该行进路线包括:
从该目标位置识别目的地;以及
产生经由该补充位置、中间停靠站、或其组合到该目的地的该行进路线。
9.根据权利要求1所述的方法,其中基于该目标位置产生到该目的地的该行进路线包括:
从该目标位置识别该补充位置;以及
产生到该补充位置的该行进路线。
10.根据权利要求1所述的方法,其中基于该目标位置产生到该目的地的该行进路线包括:
从该目标位置识别中间停靠站;以及
产生到该中间停靠站的该行进路线。
11.一种导航***,其包含:
预定层级模块,供设定用于抵达补充位置的预定抵达层级;
耦接于该预定层级模块的计算器预先计算子模块,供计算用于抵达该补充位置的估计抵达层级,并且计算用于穿越一或多个行进区段的估计区段行进时间;
耦接于该预定层级模块的成本预先计算子模块,用来比较用于穿越各该行进区段的该估计区段行进时间;
耦接于该预定层级模块的回传预先计算子模块,用来基于符合或超出该预定抵达层级的该估计抵达层级产生目标位置;
耦接于该预定层级模块的预定距离计算器模块,供计算用于抵达该补充位置的预定距离;
耦接于该预定距离计算器模块的距离删除子模块,供计算用于抵达该补充位置的区段距离并且如果该区段距离小于该预定距离,则删除从第一中间停靠站到该补充位置的该行进区段;以及
耦接于该回传预先计算子模块的路线规划模块,用来基于从该目标位置选择该补充位置产生到目的地的行进路线以供在装置上显示,所述补充位置带有穿越各该行进区段的最短的该估计区段行进时间。
12.根据权利要求11所述的***,其再包含:
耦接于该距离删除子模块的干扰源预先计算子模块,用来基于符合或超出该预定距离的该区段距离选择该补充位置以供至少抵达该补充位置。
13.根据权利要求11所述的***,其中:
该计算器预先计算子模块用于计算该补充位置处的目前位置估计层级;以及
再包含:
耦接于该预定层级模块的预定计算模块,用于计算用于穿越行进区段的估计消耗层级;以及
耦接于该预定层级模块的干扰源预先计算子模块,用于基于符合或超出该估计消耗层级的该目前位置估计层级选择该补充位置。
14.根据权利要求11所述的***,其再包含:
耦接于该预定层级模块的安全用料预先计算子模块,用于计算穿越替代运输路线抵达该补充位置的配给替代运输行进时间;
耦接于该预定层级模块的预先计算模块,用于计算穿越该替代运输路线抵达该补充位置的估计替代运输时间;以及
耦接于该预定层级模块的干扰源预先计算子模块,用于基于符合或超出该估计替代运输时间的该配给替代运输行进时间选择该补充位置。
15.根据权利要求11所述的***,其中:
再包含:
耦接于该预定层级模块的干扰源预先计算子模块,用于以穿越各该行进区段的最短的该估计区段行进时间选择该补充位置。
16.根据权利要求11所述的***,其中:
该计算器预先计算子模块用于计算穿越一或多个行进区段的该估计区段财务成本;以及
再包含:
耦接于该预定层级模块的成本预先计算子模块,用于比较穿越各该行进区段的该估计区段财务成本;以及
耦接于该预定层级模块的干扰源预先计算子模块,用于以穿越各该行进区段的最低的该估计区段财务成本选择该补充位置。
17.根据权利要求11所述的***,其中该路线规划模块是用来基于从该目标位置选择该补充位置产生从该目的地到开始位置的逆行进路线。
18.根据权利要求11所述的***,其中该路线规划模块是用来基于从该目标位置选择中间停靠站产生从该目的地到开始位置的逆行进路线。
19.根据权利要求11所述的***,其中该路线规划模块包括:
目的地单向子模块,用于从该目标位置识别目的地;以及
建构器单向子模块,用于产生经由该补充位置、中间停靠站、或其组合到该目的地的该行进路线。
20.根据权利要求11所述的***,其中该路线规划模块包括:
识别器单向子模块,用于从该目标位置识别该补充位置;以及
建构器单向子模块,用于产生到该补充位置的该行进路线。
21.根据权利要求11所述的***,其中该路线规划模块包括:
目的地单向子模块,用于从该目标位置识别中间停靠站;以及
建构器单向子模块,用于产生到该中间停靠站的该行进路线。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201061428847P | 2010-12-30 | 2010-12-30 | |
US61/428,847 | 2010-12-30 | ||
PCT/US2011/067967 WO2012092519A1 (en) | 2010-12-30 | 2011-12-29 | Navigation system with constrained resource route planning optimizer and method of operation thereof |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103429989A CN103429989A (zh) | 2013-12-04 |
CN103429989B true CN103429989B (zh) | 2017-10-20 |
Family
ID=46381496
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201180068793.5A Active CN103429989B (zh) | 2010-12-30 | 2011-12-29 | 具有受限资源路线规划最佳化器的导航***及其操作方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US8626436B2 (zh) |
CN (1) | CN103429989B (zh) |
WO (1) | WO2012092519A1 (zh) |
Families Citing this family (41)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120047087A1 (en) * | 2009-03-25 | 2012-02-23 | Waldeck Technology Llc | Smart encounters |
US20110106433A1 (en) * | 2009-11-04 | 2011-05-05 | Takuya Otani | Method of recording and retrieving recent location data, and related personal navigation device |
WO2012092519A1 (en) | 2010-12-30 | 2012-07-05 | Telenav, Inc. | Navigation system with constrained resource route planning optimizer and method of operation thereof |
US8538677B2 (en) | 2010-12-30 | 2013-09-17 | Telenav, Inc. | Navigation system with constrained resource route planning mechanism and method of operation thereof |
JP5384545B2 (ja) * | 2011-03-07 | 2014-01-08 | 本田技研工業株式会社 | ナビシステム、ナビサーバ、ナビクライアントおよびナビ方法 |
DE102011078261A1 (de) * | 2011-06-29 | 2013-01-03 | Bayerische Motoren Werke Aktiengesellschaft | Informationsvorrichtung und Informationssystem für ein Fahrzeug |
US8938348B2 (en) * | 2011-12-13 | 2015-01-20 | Mitsubishi Electric Research Laboratories, Inc. | Method for optimizing run curve of vehicles |
GB2497981B (en) * | 2011-12-23 | 2013-11-13 | Charles Linfield Davies | Generating travel time data |
US8996295B2 (en) * | 2012-09-11 | 2015-03-31 | GM Global Technology Operations LLC | Vehicle range projection |
US9197705B2 (en) * | 2013-04-12 | 2015-11-24 | Samsung Electronics Co., Ltd. | Method and apparatus for supporting driving using wireless communication network and system thereof |
US8738292B1 (en) * | 2013-05-14 | 2014-05-27 | Google Inc. | Predictive transit calculations |
JP6090449B2 (ja) | 2013-07-25 | 2017-03-08 | 日産自動車株式会社 | 予測エネルギー残量案内システム |
US9151631B2 (en) * | 2013-10-14 | 2015-10-06 | Ford Global Technologies, Llc | Vehicle fueling route planning |
US9679489B2 (en) * | 2014-07-22 | 2017-06-13 | Lyft, Inc. | Ride chaining |
US10474985B2 (en) * | 2014-08-13 | 2019-11-12 | Sap Se | Automaton-based framework for asset network routing |
US10572847B2 (en) | 2014-10-10 | 2020-02-25 | Conduent Business Services, Llc | Dynamic space-time diagram for visualization of transportation schedule adherence |
US9536210B2 (en) * | 2014-12-11 | 2017-01-03 | Xerox Corporation | Origin-destination estimation system for a transportation system |
US10670417B2 (en) * | 2015-05-13 | 2020-06-02 | Telenav, Inc. | Navigation system with output control mechanism and method of operation thereof |
JP6510969B2 (ja) * | 2015-12-22 | 2019-05-08 | 本田技研工業株式会社 | サーバおよびサーバクライアントシステム |
US10739154B2 (en) * | 2016-02-02 | 2020-08-11 | Sap Se | System and method for vehicle fuel consumption optimization |
US11562300B2 (en) | 2016-06-10 | 2023-01-24 | Conduent Business Services, Llc | System and method for optimal automated booking of on-demand transportation in multi-modal journeys |
US10984391B2 (en) | 2016-11-17 | 2021-04-20 | International Business Machines Corporation | Intelligent meeting manager |
US10699305B2 (en) | 2016-11-21 | 2020-06-30 | Nio Usa, Inc. | Smart refill assistant for electric vehicles |
US10471829B2 (en) | 2017-01-16 | 2019-11-12 | Nio Usa, Inc. | Self-destruct zone and autonomous vehicle navigation |
US10286915B2 (en) | 2017-01-17 | 2019-05-14 | Nio Usa, Inc. | Machine learning for personalized driving |
IT201700064752A1 (it) * | 2017-06-12 | 2018-12-12 | Duel S R L | Metodo di elaborazione dati per sintetizzare in tempo reale informazioni di traffico personalizzate |
US10234302B2 (en) | 2017-06-27 | 2019-03-19 | Nio Usa, Inc. | Adaptive route and motion planning based on learned external and internal vehicle environment |
US10837790B2 (en) | 2017-08-01 | 2020-11-17 | Nio Usa, Inc. | Productive and accident-free driving modes for a vehicle |
US10635109B2 (en) | 2017-10-17 | 2020-04-28 | Nio Usa, Inc. | Vehicle path-planner monitor and controller |
US10935978B2 (en) | 2017-10-30 | 2021-03-02 | Nio Usa, Inc. | Vehicle self-localization using particle filters and visual odometry |
US10606274B2 (en) | 2017-10-30 | 2020-03-31 | Nio Usa, Inc. | Visual place recognition based self-localization for autonomous vehicles |
US11144886B2 (en) * | 2017-12-21 | 2021-10-12 | International Business Machines Corporation | Electronic meeting time of arrival estimation |
US10264389B1 (en) | 2017-12-31 | 2019-04-16 | Lyft, Inc. | Optimizing pickup locations for transportation requests based on context information |
GB2572962A (en) * | 2018-04-16 | 2019-10-23 | Morgan Brown Consultancy Ltd | Vehicle Routing |
WO2021071588A1 (en) * | 2019-10-07 | 2021-04-15 | Lyft, Inc. | Multi-modal transportation system |
US11733049B2 (en) | 2019-10-07 | 2023-08-22 | Lyft, Inc. | Multi-modal transportation system |
US10746555B1 (en) * | 2019-10-07 | 2020-08-18 | Lyft, Inc. | Multi-modal transportation route deviation detection and correction |
US11733046B2 (en) | 2019-10-07 | 2023-08-22 | Lyft, Inc. | Multi-modal transportation proposal generation |
US11226208B2 (en) | 2019-10-07 | 2022-01-18 | Lyft, Inc. | Transportation route planning and generation |
US11027650B2 (en) | 2019-11-07 | 2021-06-08 | Nio Usa, Inc. | Method and apparatus for improving operation of a motor vehicle |
US11747153B1 (en) | 2022-07-21 | 2023-09-05 | Travelshift ehf. | Apparatus and associated method for determining a travel itinerary |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5568390A (en) * | 1993-08-10 | 1996-10-22 | Toyota Jidosha Kabushiki Kaisha | Navigation system to be mounted on vehicles |
CN101769746A (zh) * | 2008-10-28 | 2010-07-07 | 爱信艾达株式会社 | 行车引导装置、行车引导方法和计算机程序 |
Family Cites Families (55)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3203976B2 (ja) * | 1994-09-05 | 2001-09-04 | 日産自動車株式会社 | 車両用駆動力制御装置 |
US5742922A (en) | 1996-02-12 | 1998-04-21 | Hyundai Motor Company | Vehicle navigation system and method for selecting a route according to fuel consumption |
US6707421B1 (en) | 1997-08-19 | 2004-03-16 | Siemens Vdo Automotive Corporation | Driver information system |
US6633544B1 (en) | 1998-06-24 | 2003-10-14 | At&T Corp. | Efficient precomputation of quality-of-service routes |
US6065511A (en) | 1998-09-11 | 2000-05-23 | Mcclintock; Gene | Vehicle fueling system |
DE19946607C2 (de) | 1998-10-01 | 2002-11-07 | Ibm | Optimierung mit Zerstörung & Wiederaufbau |
US6484088B1 (en) * | 1999-05-04 | 2002-11-19 | Ssi Technologies, Inc. | Fuel optimization system with improved fuel level sensor |
US6859927B2 (en) | 1999-12-21 | 2005-02-22 | Lockheed Martin Corporation | Apparatus and method for controlling allocation of resources and task execution |
DE10019407A1 (de) | 2000-04-19 | 2001-10-25 | Bosch Gmbh Robert | Verfahren zur Routenberechnung und Verfahren zur Zielführung |
GB0011797D0 (en) | 2000-05-16 | 2000-07-05 | Yeoman Group Plc | Improved vehicle routeing |
US20030033582A1 (en) | 2001-05-09 | 2003-02-13 | Wavemarket, Inc. | Representations for estimating distance |
JP4451027B2 (ja) | 2001-07-11 | 2010-04-14 | 富士通株式会社 | 複数経路探索方法及びこれを適用するネットワーク装置 |
US6591185B1 (en) | 2002-02-11 | 2003-07-08 | Visteon Global Technologies, Inc. | Method for determination of fuel usage for a vehicle in a vehicle navigation system |
US6714857B2 (en) | 2002-02-26 | 2004-03-30 | Nnt, Inc. | System for remote monitoring of a vehicle and method of determining vehicle mileage, jurisdiction crossing and fuel consumption |
US7228207B2 (en) | 2002-02-28 | 2007-06-05 | Sabre Inc. | Methods and systems for routing mobile vehicles |
US7363126B1 (en) | 2002-08-22 | 2008-04-22 | United Parcel Service Of America | Core area territory planning for optimizing driver familiarity and route flexibility |
JP4831925B2 (ja) * | 2002-09-26 | 2011-12-07 | トヨタ自動車株式会社 | 燃料電池システムの燃料残量に関する警告 |
US7474960B1 (en) | 2002-12-30 | 2009-01-06 | Mapquest, Inc. | Presenting a travel route |
US7412313B2 (en) | 2004-01-07 | 2008-08-12 | Temic Automotive Of North America, Inc. | Maintenance assistance for a vehicle |
DE102004015389A1 (de) | 2004-03-26 | 2005-10-20 | Daimler Chrysler Ag | Vorrichtung für ein Kraftfahrzeug, für das Vermeiden eines unbeabsichtigten vollständigen Verbrauchs der Kraftstoffreserven des Kraftfahrzeugs |
JP2006112932A (ja) * | 2004-10-15 | 2006-04-27 | Fuji Heavy Ind Ltd | 電気自動車のナビゲーションシステム |
US7831433B1 (en) | 2005-02-03 | 2010-11-09 | Hrl Laboratories, Llc | System and method for using context in navigation dialog |
US7665559B2 (en) * | 2005-06-10 | 2010-02-23 | De La Torre-Bueno Jose | Inputs for optimizing performance in hybrid vehicles |
JP2007024833A (ja) | 2005-07-21 | 2007-02-01 | Denso Corp | 車載ナビゲーション装置 |
JP4736913B2 (ja) | 2005-09-27 | 2011-07-27 | 株式会社デンソー | エコドライブシステム |
GB0520576D0 (en) | 2005-10-10 | 2005-11-16 | Applied Generics Ltd | Using traffic monitoring information to provide better driver route planning |
WO2007061409A2 (en) * | 2005-11-21 | 2007-05-31 | Ford Motor Company | Navigation system for a vehicle |
WO2007059781A1 (en) | 2005-11-28 | 2007-05-31 | Niels Jakob Jacques Svendstorp | System for an infrastructure for hydrogen refuelling of moving vehicles |
US7945386B2 (en) | 2006-08-25 | 2011-05-17 | Mitac International Corporation | Rerouting in vehicle navigation systems |
US7756631B2 (en) | 2006-08-31 | 2010-07-13 | Raytheon Company | Method for realtime scaling of the vehicle routing problem |
GB2443472A (en) | 2006-10-30 | 2008-05-07 | Cotares Ltd | Method of generating routes |
US7778769B2 (en) | 2006-11-27 | 2010-08-17 | International Business Machines Corporation | Method and system for calculating least-cost routes based on historical fuel efficiency, street mapping and location based services |
US20080133120A1 (en) * | 2006-11-30 | 2008-06-05 | Romanick Ian D | Method for determining and outputting travel instructions for most fuel-efficient route |
US9437113B2 (en) | 2007-04-04 | 2016-09-06 | The Boeing Company | Method and apparatus for planning air refueling for aircraft |
US20080249667A1 (en) * | 2007-04-09 | 2008-10-09 | Microsoft Corporation | Learning and reasoning to enhance energy efficiency in transportation systems |
US8069127B2 (en) | 2007-04-26 | 2011-11-29 | 21 Ct, Inc. | Method and system for solving an optimization problem with dynamic constraints |
DE602007008690D1 (de) | 2007-05-04 | 2010-10-07 | Harman Becker Automotive Sys | Verfahren und Vorrichtung zur Routenbestimmung |
US7849944B2 (en) * | 2007-06-12 | 2010-12-14 | Ut-Battelle, Llc | Self-learning control system for plug-in hybrid vehicles |
US20090005974A1 (en) | 2007-06-29 | 2009-01-01 | Gm Global Technology Operations, Inc. | Fuel cost predictor system |
US8005610B2 (en) | 2007-08-10 | 2011-08-23 | Max-Planck-Gesellschaft zur Förderung der Wissenschaften e.V | Method and device for determining the length of a shortest path in a network |
US20090063045A1 (en) * | 2007-08-30 | 2009-03-05 | Microsoft Corporation | Gps based fuel efficiency optimizer |
US20090157289A1 (en) * | 2007-12-18 | 2009-06-18 | Apple Inc. | Navigation Systems and Services |
JP4512676B2 (ja) | 2007-12-25 | 2010-07-28 | 日本電気株式会社 | 経路探索システム、経路探索端末及び経路探索方法 |
US7956570B2 (en) | 2008-01-07 | 2011-06-07 | Coulomb Technologies, Inc. | Network-controlled charging system for electric vehicles |
US20090198505A1 (en) | 2008-02-05 | 2009-08-06 | Peter Gipps | Interactive path planning with dynamic costing |
US8116972B2 (en) * | 2008-02-08 | 2012-02-14 | Ford Global Technologies, Llc | System and method for determining a vehicle refueling strategy |
US20100049397A1 (en) * | 2008-08-22 | 2010-02-25 | Garmin Ltd. | Fuel efficient routing |
US8706404B2 (en) * | 2008-09-29 | 2014-04-22 | Navteq B.V. | Navigation features for obtaining fuel before returning a rental vehicle |
CN101509776A (zh) * | 2008-12-17 | 2009-08-19 | 无敌科技(西安)有限公司 | 多目标行程规划导航***及其方法 |
US9671241B2 (en) | 2009-02-03 | 2017-06-06 | Telenav, Inc. | Navigation system having route customization mechanism and method of operation thereof |
US10189359B2 (en) | 2009-02-17 | 2019-01-29 | Chargepoint, Inc. | Transmitting notification messages for an electric vehicle charging network |
EP2341318B1 (en) * | 2009-12-29 | 2019-10-09 | BlackBerry Limited | Mobile device and method of representing route information |
US8538694B2 (en) * | 2010-05-21 | 2013-09-17 | Verizon Patent And Licensing Inc. | Real-time route and recharge planning |
US8538677B2 (en) | 2010-12-30 | 2013-09-17 | Telenav, Inc. | Navigation system with constrained resource route planning mechanism and method of operation thereof |
WO2012092519A1 (en) | 2010-12-30 | 2012-07-05 | Telenav, Inc. | Navigation system with constrained resource route planning optimizer and method of operation thereof |
-
2011
- 2011-12-29 WO PCT/US2011/067967 patent/WO2012092519A1/en active Application Filing
- 2011-12-29 CN CN201180068793.5A patent/CN103429989B/zh active Active
- 2011-12-29 US US13/340,008 patent/US8626436B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5568390A (en) * | 1993-08-10 | 1996-10-22 | Toyota Jidosha Kabushiki Kaisha | Navigation system to be mounted on vehicles |
US5568390B1 (en) * | 1993-08-10 | 1998-03-31 | Toyota Motor Co Ltd | Navigation system to be mounted on vehicles |
CN101769746A (zh) * | 2008-10-28 | 2010-07-07 | 爱信艾达株式会社 | 行车引导装置、行车引导方法和计算机程序 |
Also Published As
Publication number | Publication date |
---|---|
WO2012092519A1 (en) | 2012-07-05 |
US8626436B2 (en) | 2014-01-07 |
US20120173135A1 (en) | 2012-07-05 |
CN103429989A (zh) | 2013-12-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103429989B (zh) | 具有受限资源路线规划最佳化器的导航***及其操作方法 | |
JP6942762B2 (ja) | 運輸サービスの料金を求める方法及びシステム | |
US20210035064A1 (en) | Information providing method and information providing system | |
US8612140B2 (en) | Navigation system with constrained resource route planning mechanism and method of operation thereof | |
CN102378897B (zh) | 具有路线客制化机制之导航***及其操作方法 | |
WO2022021119A1 (zh) | 一种集装箱码头间全自主水上运输调度方法及*** | |
CN109859459A (zh) | 一种自动驾驶公交调度优化方法 | |
CN109102114B (zh) | 一种基于数据融合的公交出行下车站点估计方法 | |
EP2374248A1 (en) | System and method for efficient routing on a network in the presence of multiple-edge restrictions and other constraints | |
CN110458456B (zh) | 基于人工智能的需求响应式公交***的调度方法及*** | |
CN102324128A (zh) | 基于ic卡记录的公交站间od客流预测方法及装置 | |
CN108106622A (zh) | 一种乘车路线规划方法及*** | |
CN107464016A (zh) | 考虑电池剩余电量的电动汽车充电路线诱导方法 | |
CN109974735A (zh) | 到达时间的预估方法、装置及计算机设备 | |
CN104517040A (zh) | 一种基于ic卡数据公交车辆车内拥挤程度计算方法 | |
CN111898793A (zh) | 一种组合出行方式下考虑用户感知差异性的路径选择方法 | |
CN116663811A (zh) | 一种城际客运的往返动态拼车的调度匹配方法和装置 | |
CN113822461A (zh) | 一种轨道交通跨线运营优化方法、***、设备及存储介质 | |
CN106556397A (zh) | 一种gnss地图匹配方法和装置 | |
JP2023540731A (ja) | オンライン予約車両情報処理方法、装置、機器、及びコンピュータ記憶媒体 | |
CN103167032B (zh) | 地图辅助的室内定位后台服务*** | |
Chen et al. | A two-stage algorithm for the extended linehaul-feeder vehicle routing problem with time windows | |
Haberfeld et al. | Risk-sensitive rendezvous algorithm for heterogeneous agents in urban environments | |
CN116307580A (zh) | 运力调度方法、装置、电子设备及存储介质 | |
CN102564441A (zh) | 路径检索装置及路径检索方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |