基于路链的快速最短路径规划方法与流程

文档序号:12589181阅读:来源:国知局

技术特征:

1.基于路链的快速最短路径规划方法,其特征在于,包括以下步骤:

1)根据道路网生成节点拓扑表K,该节点拓扑表K包含节点的相邻节点、节点与相邻节点之间弧段的长度;

2)创建一张路链拓扑表U,用以保存路链的拓扑关系,该路链拓扑表U包含路链的相邻路链、路链与相邻路链的交点、路链所包含的节点以及相邻节点之间的距离;

3)通过节点拓扑表K中每一对相邻的节点生成路链,保存到路链拓扑表U,并将路链拓扑表U中以相同节点为端点且夹角大于120度的两条路链合并成一条新的路链,若多条路链与同一条路链夹角都大于120度,则选取夹角最大的两条路链组合成一条路链;

4)根据路链拓扑表U进行路径规划:

4.1)创建两张表:open表和closed表,其中closed表中用于保存已扩展过的路链,open表用于保存已生成尚未扩展的路链;

4.2)设路链s的数据结构包含前继路链pre、从初始节点到该路链的实际代价g、从该路链到目标节点最佳路径的估计代价h、从初始节点经由该路链到达目的节点的估计代价f;

4.3)确定步骤4.2)中g、h、f的值:

4.31)g值的确定:

若路链s是初始节点所在的路链,则路链s的g值为零,否则路链s的g值等于路链s的前继路链t的g值加上Δg,其中Δg是路链t上第一节点a和第二节点b之间路链的长度,其中第一节点a在路链t的前继路链不存在时,为路径规划的初始节点,否则为路链t的前继路链与路链t的交点,第二节点b为路链t与路链s的交点;

4.32)h的确定:

路链s的h值等于节点c到目标节点的欧式距离加上路链s上以第二节点b和第三节点c为端点的之间路链的长度,其中第三节点c是路链s上距离目标节点欧式距离最近的节点;

4.33)根据确定的g值和h值,得到f值为:f=g+h;

4.4)将初始节点n所在路链插入到open表,并计算其f值;;

4.5)判断open表是否为空,若是,结束路径搜索,路径规划失败,未能规划出一条从初始节点到目标节点的路径,否则,执行步骤4.6);

4.6)从open表中选取f值最小的路链m放入到closed表内,再判断f值最小的路链m是否为目标节点所在的路链,若是,则结束搜索,输出路径,否则执行步骤4.7);

4.7)判断f值最小的路链m是否有相邻路链,若是,则将所有相邻路链存入集合r中,否则返回步骤4.6);

4.8)判断集合r是否为空,若是,则返回步骤4.6),否则,从集合r中取出一条相邻路链记为p;

4.9)判断相邻路链p是否存在于closed表中,若是,则返回步骤4.8),否则执行步骤4.10);

4.10)判断相邻路链p是否存在于open表中,若是,则执行步骤4.11),否则,将f值最小的路链m设置为该相邻路链p的前继路链,计算相邻路链p的f值,并将该相邻路链p添加到open表中,返回步骤4.8);

4.11)假设f值最小的路链m为相邻路链p的前继路链,计算相邻路链p的f值,判断在假设前提下的f值是否比4.10)步骤计算的f值大,若是,则返回步骤4.8),否则,更新路链p的f值为假设前提下的f值,且设置f值最小的路链m为该路链p的前继路链,返回步骤4.8)。

2.根据权利要求1所述的方法,其中步骤2)中的路链,是指一条自然延伸的不被割断的道路,是道路自然形态的基本单元。

3.根据权利要求1所述的方法,其中步骤2)中的相邻路链,是指与路链有且仅有一个交点的路链。

4.根据权利要求1所述的方法,其中步骤4.4)计算初始节点n所在路链的f值,是先得出初始节点n所在路链上初始节点与第三节点c之间路链的长度d,再将该长度d与第三节点c到目标节点的欧式距离e相加,即:f=d+e。

5.根据权利要求1所述的方法,其中步骤4.10)计算路链p的f值,按如下步骤进行:

首先,获得路链p的前继路链m,判断该前继路链m是否存在自己的前继路链mf,若存在,则将m的前继路链mf与p的前继路链v的交点记为第一节点a,否则,将路径规划的初始节点记为第一节点a;

接着,将路链p的前继路链m与路链p的交点,记为第二节点b,并计算路链m上第一节点a与第二节点b之间路链的长度i;

接着,将路链p上距离目标节点欧式距离最近的节点,记为第三节点c,并计算路链p上以第二节点b和第三节点c为端点的之间路链的长度j,以及第三节点c到目标节点的欧式长度x;

最后,将路链m的g值记为mg,得出路链路链p的f值,即:f=i+x+j+mg。

6.根据权利要求1所述的方法,其中步骤4.11)计算路链p的f值,按如下步骤进行:

判断步骤4.11)中的f值最小的路链m是否存在自己的前继路链mf,若存在,则将路链m的前继路链mf与路链m的交点记为第一节点a,否则,将路径规划的初始节点记为第一节点a;

接着,将路链m与路链p的交点,记为第二节点b,并计算路链m上第一节点a与第二节点b之间路链的长度z;

接着,将路链p上距离目标节点欧式距离最近的节点,记为第三节点c,并计算路链p上以第二节点b和第三节点c为端点的之间路链的长度q,以及第三节点c到目标节点的欧式长度y;

最后,将路链m的g值记为mg,得出路链路链p的f值,即:f=z+q+y+mg。

当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1