本发明涉及路径规划技术领域,尤其涉及一种基于转弯权重约束的最短路径规划方法。
背景技术:
agv(automatedguidedvehicle,自动导引运输车)是指装备有电磁或光学等自动导引装置,由计算机控制、轮式移动为特征、并且能够沿规定的导引路径自动行驶的运输车辆。在智慧型停车场服务或智慧仓储等智慧型自动化服务应用中,agv是运输主力军,其全向性更是解决了车辆转弯难度大等问题,实现360°任意方向行驶。
agv在智慧场景下的最短路径规划除了需要遵循国内现行基本交通规则,包括但不限于左舵驾驶,右侧行驶,转弯礼让直行等,还需要满足场景内路况及相关停车的规则:
1、除应急车道外其它正常使用车道均为双向车道,车辆靠右侧行驶;
2、agv车辆行进速度一致,前方遇有障碍时采取等待模式,不得占用对向车道超车;
3、行进直线段可以有多辆agv同向或对向行驶,遇有agv拐弯驶入车位时,需占用对向车道,其他agv等待,转弯结束后依次通行。
目前通过数学算法(如floyd-warshall算法和dijkstra算法等)规划最佳行进路径都充分考虑上述规则的1,2两点,对于全向agv转弯占用双车道,其他车需等待的情况没有考虑到最短路径规划算法中,严重影响了整体agv停车运行速度。
智能停车系统或者智慧仓储系统的路径规划旨在为车辆提供给定起始结点到给定终止结点的最短路径,研究最短路径的方法大多基于图论,利用道路关键点和停车位作为图结点,利用道路长度或拥挤度等信息作为边权重,构建对应的邻接矩阵,并用算法求解邻接矩阵,得到起始结点至终止结点的最短路径。最短路径算法包括启发式搜索、凸轮基本方法、动态规划和神经网络等等,目前,现有技术中的最短路径算法包括:floyd算法,bellman-ford算法,spfa算法和dijkstra算法。
对于n个结点和m条边组成的图g,floyd算法利用动态规划的思想,解决多源最短代价路径问题,其时间复杂度为o(n3),空间复杂度为o(n2),不适合大量数据。bellman-ford算法基于动态规划求单源最短路径,可以判断有无负权回路,时间复杂度为o(n*m),空间复杂度为o(m),适用于稀疏图和边的关系较为密切图。spfa算法在bellman-ford算法的基础上加上一个队列优化,减少了冗余的松弛操作,提高了效率。dijstra算法基于贪心算法思想,解决单源最短代价路径问题,时间复杂度和空间复杂度都为o(n2),适用于稠密图。因为智慧场景路径不存在负权值,并且dijkstra算法能适应网络拓扑的变化,性能更稳定,因此常被应用到实际路径规划中。
dijkstra最短路径算法被广泛应用,其主要特点是以起始结点为中心向外层层扩散,直至终止结点。dijkstra算法将所有结点集合v分为两组:一组为最短路径已经确定的结点s;另一组为尚未确定最短路径的结点v-s,并且按照最短路径长度递增顺序将v-s中的结点逐个加到s中,加入过程中,总是保持源点v到s的各结点的最短路径长度不大于从源点v到v-s中任何结点的最短路径长度。dijkstra算法以道路叉口和停车位作为图结点,在道路权值的设定上,利用图像射频技术测量道路实时车流量信息,并结合路段长度作为边权规划路径实现快速泊车。
现有技术中的提出一种应用dijsktra算法计算停车路径的优化算法包括:将进入场地的路径和驶出场地的路径分别建模,用dijkstra算法求得最短距离并求和。在停车路径规划问题上,以将道路结点和车位结点区分开,采用分层搜索方法,把路径搜索过程化,对每个过程进行利用dijsktra求解,得到全局较优解。针对多agv在智能自动化场景下的路径规划及调度问题,利用dijkstar算法对多个agv进行路径规划,通过时间窗更新解决多agv调度问题。
上述现有技术中的应用dijsktra算法计算停车路径的优化算法的缺点为:应用场景一般是仓储物流配或大型停车场人为停车任务,因此算法的权重通常只考虑道路长度。而对于智能停车场的agv自动引导装置,其在路口转弯时会占用对向车道,因此若最短路径结果包含过多转弯,可能引起其他agv车辆的等待或路口堵塞,造成车辆存取延迟滞后。
技术实现要素:
本发明的实施例提供了一种基于转弯权重约束的最短路径规划方法,以克服现有技术的缺点。
为了实现上述目的,本发明采取了如下技术方案。
一种基于转弯权重约束的最短路径规划方法,包括:
步骤1、设定包含多个结点的路径规划区域中的起始结点为源点v,终止结点为终点w,初始时,设定路径集合s只包括源点v,候选结点结合u中包括含除v外的其它结点,计算出源点v与其它所有结点之间的距离,将源点v与其它所有结点之间的距离存储在结点距离数据表中;
步骤2、根据所述结点距离数据表中存储的距离信息,从u中选取一个到源点v距离最短的结点k,把k加入s中;
步骤3、以结点k为中间结点,基于转弯权重重新计算u中各结点到源点v的距离,将重新计算的源点v与其它所有结点之间的距离更新存储在结点距离数据表中;
步骤4、重复执行上述步骤2和3,直到将终点w添加到s中,流程结束,将s中的所有结点按照添加进s的时间顺序依次连接,得到源点v到终点w的最短路径。
优选地,所述的步骤1之前还包括:
数据库中存储的原始数据包括停车位、充电桩和出入口,道路的位置信息以及停车位的出口角度信息,所述原始数据在数据库中以站点的坐标形式存储,根据所有站点的坐标构造场地结构图,以站点为结点,生成图结点以及正确的连接边,建立连接关系,根据场地结构图中的边连接的两个端结点的坐标计算出边的长度,该边的长度作为边权重。
优选地,所述的方法还包括:
建立场地结构图时,根据出入口、充电位以及停车位的属性构建相应的结点,为每一段道路生成对应的起点结点和终点结点,将每条路与建立好的出入口、充电位以及停车位结点逐一进行判断,当小于一定阈值的时候判断为交点,从道路的起始节点开始,如果后面的结点与起始节之间的距离小于一定阈值,则删除这些结点,否则保留这些结点;又以保留的结点为起始节点开始下一次判断。
优选地,所述的步骤1中的计算出源点v与其它所有结点之间的距离,包括:
若u中结点u是源点v的出边邻接点,则边v→u有边权值<v,u>,该边权值即为源点v与结点u之间的距离dv→u,若结点u不是源点v的出边邻接点,则边权值<v,u>为无穷大,即为源点v与结点u之间的距离dv→u为无穷大。
优选地,所述的步骤3中的以结点k为中间结点,基于转弯权重重新计算u中各结点到源点v的距离,包括:
以结k为中间结点,选取u中结点u,计算经过中间结点k从v到u的距离dv→k→u,首先判断经过中间结点k从v到u的路径v→k→u中是否存在转弯,如果边v→k与边k→u之间的夹脚不为零度,则判断经过中间结点k从v到u的路径v→k→u中存在转弯,则经过中间结点k从v到u的距离:dv→k→u=<v,k>+<k,u>+2×trunweight,所述trunweight为设定的转弯权重;
如果边v→k与边k→u之间的夹脚为零度,则判断经过中间结点k从v到u的路径v→k→u中不存在转弯,则经过中间结点k从v到u的距离为:dv→k→u=<v,k>+<k,u>;
将计算出的经过中间结点k从v到u的距离dv→k→u与结点距离数据表中存储的从v到u的距离dv→u进行比较,如果dv→k→u≤dv→u,则将结点距离数据表中存储的v到u的距离更新为dv→k→u;如果dv→k→u>dv→u,则将结点距离数据表中存储的v到u的距离不变。
优选地,所述的方法应用于智能停车系统或者智慧仓储系统中的自动导引运输车agv的路径规划。
由上述本发明的实施例提供的技术方案可以看出,本发明实施例的方法在有效计算最短路径的同时,结合实际情况,对路口转弯进行权重惩罚,根据新的权重得出的最短路径在道路长度较短的基础上能够尽量避免转弯,避免引起路口和道路交叉口的其他agv车辆排队和等待,帮助agv引导车进程有效快速的完成任务。
本发明附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种基于权重约束的全向轮agv最短路径规划方法的实现原理示意图;
图2为本发明实施例提供的一种利用dijkstra算法求解同时已知起始结点和终止结点时的最短路径方法的处理流程图;
图3本发明实施例提供的一种利用基于转弯权重的dijkstra算法求解同时已知起始结点和终止结点时的最短路径方法的处理流程图;
图4为本发明实施例提供的一种基于权重约束的全向轮agv最短路径规划方法的应用实施示意图。
具体实施方式
下面详细描述本发明的实施方式,所述实施方式的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施方式是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的任一单元和全部组合。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语)具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样定义,不会用理想化或过于正式的含义来解释。
为便于对本发明实施例的理解,下面将结合附图以几个具体实施例为例做进一步的解释说明,且各个实施例并不构成对本发明实施例的限定。
为解决这个问题,本发明针对基于agv系统的最短路径规划,对dijstra算法提出改进,考虑车辆转弯可能造成的时延,每次往最短路径已确定的结点集合纳入新结点时,获取其前驱边和后继边边之间的夹脚是否为零度,并判断两条边是否属于同一条道路。若不是,即遇到转弯,则纳入结点时添加额外的权重惩罚。
本发明实施例涉及到路径规划系统,为智慧停车场或智慧仓储等服务提供位置分配及最优路径计算服务,该系统只关心路径计算,不涉及运输引导过程,具体的运输引导过程由agv行车引导系统完成。该系统允许利用数据服务器根据调度指令和agv状态选定并唤醒特定的agv,建立稳定的数据连接,规划路径形成路径信息表,agv读取指定信息和路径信息,利用自身定位导航系统延路径信息自动驾驶agv至第一目标点,执行预定的功能,更新状态信息。数据服务器再规划源点至终点的最优路径并更新路径信息表,agv根据更新后的路径信息自动驾驶至终点并完成相应的调度任务;即agv在执行一条任务指令时进行两次自动导航、自动驾驶、自动装卸的过程。为此,agv最短路径规划算法需要提供更高效、实用的实时修正路径信息表(全局路径规划和局部路径规划),辅助完成agv快速完成相应任务。
本发明实施例提供的一种基于权重约束的全向轮agv最短路径规划方法的实现原理示意图如图1所示,包括结构图构建和路径规划两个处理过程。其中结构图构建过程包括构建场地结构图(graph)和目标位置(agv停车位)分配:数据库中存储的原始数据包括停车位、充电桩和出入口,道路的位置信息以及停车位的出口角度信息等。数据库中原始数据都以站点的坐标形式存储,根据所有站点的坐标构造场地结构图,以站点为结点,生成合适的图结点以及正确的连接边,建立连接关系,此结构图为后续路径计算及行车引导的基础。根据结构图中的边连接的两个端结点的坐标,可以计算出边的长度,该边的长度作为边权重,该边权重也即为边连接的两个端结点之间的距离。
系统将数据库和待查询的起点终点信息做为输入,输出起点到终点所经过的顺序结点集合(即路径)。初始地图为autocad绘制,通过第三方应用软件mapinfo生成电子地图。建立停车场结构图时,根据出入口、充电位以及停车位的属性构建相应的点,为每一段道路生成对应的起点结点和终点结点,将每条路与建立好的出入口、充电位以及停车位结点逐一进行判断,当小于一定阈值的时候判断为交点,另外还需要考虑路与路之间的交点。
在实际场景中,因为每一段道路相聚比较近,经常会造成不必要的计算。为了降低算法的复杂度,删除掉道路的冗余节点。此时只考虑路上的结点,其他点因为都是关键点,需保存。从起始节点开始,如果后面的结点与其距离小于一定阈值,则删除这些结点,否则保留这些结点。然后,又以保留的结点为起始节点开始下一次判断。接着初始化边,得到停车、出入口、充电桩与所有结点关系集合。对于每一个结点都需要遍历其他的所有结点,在满足一定距离的条件下,以此找到其邻接点并保存相关信息。另外,路与路也是有邻接关系的,对于每一条路,找到所有在当前道路上的所有结点,从小到大坐标排序。对于一条直线上的结点,若存在邻接关系,也需要将其连接。当然还会有一些孤立的点存在,它们应该为停车位、出入口、充电桩。为这些孤立点找到最近的结点进行分配。
当有相关任务到达,按广度优先策略选择最优空闲目标位,进行任务分配。路径规划过程是基于dijkstra算法,增加转弯权重设计,同时应用于以下两个任务:1.求解同时已知起始结点和终止结点时的最短路径问题;2.求解图中所有结点间的最短路径的全局最短路径问题。
agv的路径规划方法的优劣,对于整个agv停车系统的效率起着至关重要的作用,而agv路径规划的核心就是数据结构与算法领域的最短路径问题。dijkstra算法思想为:设d=(v,e)是非负权图,v代表图中结点集合,e代表图中含权重的边集合。将全部结点集合v分成两组,第一组为已求出最短路径的结点集合,用s表示(初始时s中只有一个源点,以后每求得一条最短路径,就将该路径的终止结点加入到集合s中);第二组为其余待确定最短路径的结点集合,用u表示。按最短路径长度的递增次序依次把u集合的结点逐个加入到s集合中,约束条件是保持从源点v到s中各结点的最短路径长度不大于从源点v到u中任何结点的最短路径长度。算法的终止条件是集合u为空集,即集合u的结点全部加入到集合s中。
本发明实施例提供的一种利用dijkstra算法求解同时已知起始结点和终止结点时的最短路径方法的处理流程如图2所示,包括如下的处理步骤:
1:设定包含多个结点的路径规划区域中的起始结点为源点v,终止结点为终点w,初始时,设定路径集合s只包括源点v,候选结点结合u中包括含除v外的其它结点,即s={v},v的距离为ds=0。u包含除v外的其它结点,即:u={除了v之外的其余结点},若v与u中结点u有边,即u是v的出边邻接点,则边v→u有边权值<v,u>,该边权值即为源点v与结点u之间的距离dv→u,若u不是v的出边邻接点,则边权值<v,u>为无穷大,源点v与结点u之间的距离dv→u为无穷大。
将源点v与其它所有结点之间的距离存储在结点距离数据表中。
2:根据结点距离数据表中存储的距离信息,从u中选取一个到源点v距离最短的结点k,把k加入s中,该选定的最短距离dv→k就是边权值<v,k>。
3:以k为新考虑的中间结点,重新计算u中各结点到源点v的距离,选取u中结点u,计算经过中间结点k从v到u的距离dv→k→u=<v,k>+<k,u>;
然后,将计算出的经过中间结点k从v到u的距离dv→k→u与结点距离数据表中存储的从v到u的距离dv→u进行比较,如果dv→k→u≤dv→u,则将结点距离数据表中存储的v到u的距离更新为dv→k→u;如果dv→k→u>dv→u,则将结点距离数据表中存储的v到u的距离不变。
4:重复执行步骤(2)和(3),直到将作为终止结点的终点w添加到s中,流程结束,将s中的所有结点按照添加进s的时间顺序依次连接,得到源点v到终点w的最短路径。
基于转弯权重的dijkstra算法充分考虑了agv转弯时占用双向车道,导致其他agv等待的情况,根据通过路径中父结点到下一结点边的关系来判断是否存在转弯,如果存在,则对边权值添加转弯权重;否则,边权值不变继续运行后续运算。转弯权重turnweight的大小为设定的固定值,单位为长度单位。比如为10。
本发明实施例提供的一种利用基于转弯权重的dijkstra算法求解同时已知起始结点和终止结点时的最短路径方法的处理流程如图3所示,包括如下的处理步骤:
1:设定包含多个结点的路径规划区域中的起始结点为源点v,终止结点为终点w,初始时,设定路径集合s只包括源点v,候选结点结合u中包括含除v外的其它结点,即s={v},v的距离为ds=0。u包含除v外的其它结点,即:u={除了v之外的其余结点},若v与u中结点u有边,即u是v的出边邻接点,则边v→u有边权值<v,u>,该边权值即为源点v与结点u之间的距离dv→u,若u不是v的出边邻接点,则边权值<v,u>为无穷大,源点v与结点u之间的距离dv→u为无穷大。
将源点v与其它所有结点之间的距离存储在结点距离数据表中。
2:根据结点距离数据表中存储的距离信息,从u中选取一个到源点v距离最短的结点k,把k加入s中,该选定的最短距离dv→k就是边权值<v,k>。
3、以k为新考虑的中间结点,重新计算u中各结点到源点v的距离,选取u中结点u,计算经过中间结点k从v到u的距离dv→k→u,首先判断经过中间结点k从v到u的路径v→k→u中是否存在转弯,如果边v→k与边k→u之间的夹脚不为零度,则判断经过中间结点k从v到u的路径v→k→u中存在转弯,则经过中间结点k从v到u的距离:dv→k→u=<v,k>+<k,u>+2×turnweight;
如果边v→k与边k→u之间的夹脚为零度,则判断经过中间结点k从v到u的路径v→k→u中不存在转弯,则经过中间结点k从v到u的距离为:dv→k→u=<v,k>+<k,u>;
然后,将计算出的经过中间结点k从v到u的距离dv→k→u与结点距离数据表中存储的从v到u的距离dv→u进行比较,如果dv→k→u≤dv→u,则将结点距离数据表中存储的v到u的距离更新为dv→k→u;如果dv→k→u>dv→u,则将结点距离数据表中存储的v到u的距离不变。
4、重复步骤(2)和(3),直到将作为终止结点的终点w添加到s中,流程结束,将s中的所有结点按照添加进s的时间顺序依次连接,得到源点v到终点w的最短路径。
实施例二:
图4为本发明实施例提供的一种基于权重约束的全向轮agv最短路径规划方法的应用实施示意图,如图4所示,①至⑧为图结点,并根据道路长度给定边权重。agv将从起始结点①行驶至终止结点⑧,求最短路径。
根据普通的dijstra算法,得出路径1为①-②-④-⑤-⑥-⑧,路径长度为45。路径2为①-③-⑦-⑧,路径长度为63。最终选择路径1。
根据本发明提出的改进的dijsktra算法,路径1为①-②-④-⑤-⑥-⑧,经过4个转弯,所以最终的路径长度为45+4*10=85;路径2为①-③-⑦-⑧,经过2个转弯,最终路径长度为63+2*10=83,最终选择路径2。
在多agv路径调度中,路径2平均使用的时间比路径1短,方案更优。
综上所述,本发明实施例提供了一种基于权重约束的全向轮agv最短路径规划方法,涉及智慧停车、智慧仓储等应用及最短路径算法设计等领域,能够实现科学的智慧型停车场服务以及智慧仓储服务,完成相关应用场景内的全向agv实时最短路径选择。
本发明在有效计算最短路径的同时,结合实际情况,对路口转弯进行权重惩罚,根据新的权重得出的最短路径在道路长度较短的基础上能够尽量避免转弯,避免引起路口和道路交叉口的其他agv车辆排队和等待,帮助agv引导车进程有效快速的完成任务。
本领域普通技术人员可以理解:附图只是一个实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。