什么是RP
Route Production/Route Planning
就是在给定自车位置和目的地的情况下,按照用户设定的不同条件,计算出一条或多条从自车位置到目的地的花费(根据用户的设定,可能是指时间,费用等)最少的最优路以供用户使用。
RP是导航系统最基本的功能,如果失去经路计算功能,一切华丽的界面都是空壳,所以,了解RP尤其重要。
提供两个地点间的推荐经路是RP的主要功能。
RP的主要功能:
1.通常经路计算:根据用户设定的2点(始点/终点)为基础,由始点和终点双方扩展出可以通行的道路(Network),然后从扩展的道路(Network)中计算并提供相应于探索条件的经路。
2.Reroute计算:自车位置偏离于主经路时,再重新计算出一条从当前自车位置到目的地的径路。
3.迂回经路计算:提供与既存经路不同的经路。
原经路
迂回经路
4.VICS Route计算:应Media受信状况,规制、堵塞状況,提供回避规制、堵塞的经路(不是一种独立的径路计算,只是在进行径路计算时考虑VICS规制)。
5.先行探索:当满足一定条件时(条件对RP来说是透明的,因为只是接受外部的探索要求),事先进行探索,正式探索时使用先行探索生成的探索过程数据,缩短经路计算所需时间。
6.Recovery探索:根据用户设定的探索地点和探索条件,为了能够提供最优经路的经路计算功能,通常探索失败后,放宽经路的最终质量以及探索时间性能,以计算成功为目的,再一次进行探索。 不是独立的径路计算。当通常的探索失败时,RP并不马上向外部通知探索失败,而是在RP内部考虑失败原因后再次进行探索。这个过程对RP外部是透明的。
7.探索用Data预读:在自车位置或目的地选择信息中预测经路计算所需Data,实际经路计算之前在Memory上展开(读入)。以便极力控制计算中等待读入Data。
8.探索条件设定:为提供用户希望的诱导经路,则提供几个用户可以自己决定的探索条件,然后根据其内容计算经路。
9.经由地Smooth接续:附经由地的经路计算中,接续要平滑(Smooth)。
10.自车位置侧探索开始Link生成功能:根据自车MapMatching状态・车速・走行道路种別・前方交叉点有无等信息,生成自车位置侧探索开始点(link)的功能。
11.自车位置先行距离推定:通过「自车位置先行距离计算功能」予测的自车位置(经路Data的始端位置)和,计算终了時与实际自车位置的误差,将通过Parcel形状Link的经路Data补完,谋求经路显示美观和经路诱导的快速实施。
12.目的地侧探索开始Link生成功能:确定目的地侧探索开始Link。
13.横付(这个词是由日方设计中沿用过来的)功能:当存在目的地的查询开始点的LINK是诱导对象并且可以双向通行的情况下,它的功能是辅助路径探索,将目的地引向路径的左侧。根据具有诱导点LINK的单方向车线数的不同附加成本也不同。
14.Cost计算:以用户设定的各种探索条件为基础,为了提供让客户满意的路线,计算出适应探索条件的成本。
15.经路DATA SERVICE。
16.计算失败履历:当路线计算失败时,把当时的计算情况保存在SRAM上,在DIAG开发者用的DEBUG画面上作为计算失败履历表示为过去10件份。
17.探索详细情报提供:为了把经路计算实行中发生的事情,以及与作成的经路数据相关的情报显示到显示器上,而提供选择判断情报。
18.BACK UP:把作成的经路数据保存在SRAM中,被保存的经路放在BACK UP KEY中管理。想消除BACK UP时,把与BACK UP KEY相对应的经路从SRAM中消除。RESTORE:导航启动后利用RESTORE对象BACK UP KEY读出被保存到SRAM的经路数据,快速使其回归到诱导状态。
19.经由地计算功能。
20.自动迂回功能:当外部(DG)发现正在走行的径路上存在规制时,要求RP重新探索出一条路代替原来的径路。
21.时间规制考虑:RP计算时考虑探索过程中的道路,如果在探索时包含时间规则,则计算出的经路尽量回避该段道路,以提供一条畅通可行的经路给用户。这里的时间规制包含冬季闭锁和通常的时间规则
RP相关的DB知识
- 道路种别:高速/城市快速/国道/省道/城市主干线/城市次干线/一般道/目的地出入路/CarFerry/细道路
- Link种别:本线(上下线分离)/本线(上下线非分离)/Ramp Link/JCT Link/SAPA Link/环岛Link/U-turn Dummy Link/左右转用Link/交差点内Link;
- 收费属性:收费/不收费
- 车线数:1车线/2车线/3车线/4车线/5车线/6车线以上/未调查
- 交通规制情报:终日一方通行规制/时间带规制
- PF属性:PF/非PF (PF: 经路计算对象)
探索相关的KIWI知识
- ShapeLink: 两个形状补间点之间的线段;
- 形状补间点 :在一条Link 上的点;
- Link : 由两个Node点确定的不交叉的ShapeLink列;
- Node :两条以上的Link的交叉点;
- Link列:由同一属性的Link和Node组成的有限列。
Parcel的概念
Parcel这种数据块主要是用于存储主要地图数据(描画数据)和诱导数据,在每一个Parcel的主要地图数据里,存储了该地图区域的道路、背景、文字等数据,可以形象的把他们想象成是分Layer存储的。
Region的概念
Region数据主要用于存储径路计算数据.一般来说,Region 数据的范围比Parcel 的范围大。
Level越低,道路数据越详细,在低层探索出的最优路的质量比较高,但由于数据处理太多,探索非常慢。考虑到探索速度,提取低层数据中质量比较好的Link单独存储到高层Region中,这样使探索时更多得参照高层Region数据,也能计算出质量比较好的经路。
RP 探索逻辑
迪杰斯特拉(Dijkstra)算法: 一个结合深度优先和广度优先的最优路生成算法。在局部层进行广度优先生成树,不同层之间通过比较积累经路长度进行深度优先生成树。
RP 的探索算法是对 Dijkstra 算法进行变形实现的。 同时引入A*算法,使探索枝的扩展具有向指定方向探索的方向性。
具体方法是同时在自车和目的地侧以自车和目的地为始点,进行考虑了A*算法的Dijkstra 方法进行探索,直到他们有充分的连接,然后在所连接的道路中以总花费最小的道路作为最优路。
RP探索枝扩展算法示例:
1.当前最小Cost 候补Link选择:
2.以当前最小Cost 候补Link进行扩展。
探索过程示例:
1.连接层确定。
接続Level決定处理,是决定在探索中使用从低层到最高哪个Level的Data为止的处理。
2.探索开始Link制作:
3.在低层进行探索枝扩展(上层移行探索),并确定上层反映Link.
4.确定在高层的探索开始Link.(把低层探索的上层反映Link作为高层的探索开始Link)
5.在确定的连接层进行探索,并记录自车侧和目的地侧的探索枝有交叉的Join Link.
6.比较各Join Link代表的经路的Cost, 以其中Cost最小的作为最优路。
评价RP经路质量
区分经路质量优劣的敏感程度
1、敏感质量问题,容易被客户直观发现的
比如:距离优先经路距离不是最短;
2、敏感度不太高,但认为是质量问题的
比如:道幅优先经路路况不好。
3、轻度质量问题,不明显时可以接受的
比如:推荐优先路到达时间不是最早;
道幅优先路距离有点绕远;
4、其他质量问题,不强调时可忽略的。
经路计算是以DB中存储的道路长度、种别、道幅等数据为计算依据的,所以DB数据的准确性直接影响着经路的质量。日本导航的DB数据由于几十年的积累已经很成熟,而中国导航的数据是新做成的,无论数据收集的全面性还是准确性都还在不断改进中。因此,很多看起来质量很差的路都是因为DB存储的数据有问题而造成的。在测试RP的过程中,注意关注DB数据的断点等问题,可谓测试中的一举两得。