夜光精讲 Opentcs 三大算法(四)路径算法

夜光序言:

 

 

我们经历着生活中突然降临的一切,毫无防备,就像演员进入初排。如果生活中的第一次彩排便是生活本身,那生活有什么价值呢?

 

 

 

 

 

 

夜光精讲 Opentcs 三大算法(四)路径算法_第1张图片

正文:

       适应不同的场景地图且保证系统的鲁棒性,实现有效避免地多态AGV碰撞或死锁,系统需要通用的中央调度控制系统实现多AGV协同作业的实时监控、拥塞控制、交通管控、任务调度、历史数据存储和无线通信等功能。因此如何通过协同调度实现多机器人并行执行多个任务是研究的核心问题。


路餐算法实现方案


本文由预设地图来生成所有站点之间可适路径组成的路径网
 

最短路径问题分析:


在网络或拓扑图中,求解两个不同点之间的所有可行路径中边的权值之和最小的那条路径,就是两点之间的最短路径求解问题。其中,路径中的第一个点为源点(起始点SourcePoint),最后一个点称为终点(目标点DestinationPoint)。

最短路径求解问题分为两类:单源最短路径问题和多源最短路径问题。

单源最短路径问题指的是从某一固定源点触出发,求解其到图中某一点或其他所有点之间的最短路径。多源最短路径问题求任意两点之间的最短路径。


 

路径算法研究现状


对于路径算法的研究已非常成熟,比较经典的遗传算法、人工势场方法、基于实例学习的群体智能法被广泛应用于连续空间路容规划,如局部避障等场景。

面对复杂环境的多AGV运动,有研究通过传统方法规划路径进行移动,当检测到障碍物时,当前点为起始点,进行局部运动轨迹的重新规划,直至达到目标点,但这相应提高了计算量和需要重新规划的次数,极端情况下可能最终无法到达目标点,并不利于解决大规模地图。

 

且上述方法耍确保地图中机器人视野内的障碍物位置任意时刻都是已知的,将机器人假设为点,忽略了机器人的体积带来的碰撞和转弯问题,同时未考虑复杂多变环境所带来的不确定性以及AGV在装载货物时停留等操作的大量时间,因此大多研究仍停留在少数机器人运动的理论场景。

本文研究的模型是将连续空间变换为离散空间系统模型,更适合用图搜索算法,求取全局最优解,降低计算复杂度。拓扑图
一般分为无向图、有向有权图和有向无权图五种。

 

本文提出的解决方案,需要预设生成一张全局坐标地图并存储任意两点之间最短路径的路径网,因此属于有权有向图的多源最短路径求解问题~~

 

 


 

目前比较经典且通用的针对有权有向图的多源最短路径算法主要有:
 

1.直接将单源最短路径算法调用|V|遍


常用的比较成熟的单源算法有A*算法、D*算法、深度优先算法(DFS)、广度优先算法(BFS)和Dijkstra算法等。

A*算法适用的地图不宜过大,且不适合权重等不断变化的动态路网环境,启发函数的选取和多条最短路径的选择直接影响算法效用,而AGV由于其巧存限制导致不宜采用资源耗费大的启发式算法。

D*被称为动态A*算法,用于随时间更改的地图环境,但需要维护"信息场",信息场的数据量与整个地图环境中的节点数目保持同一个数量级。

因此当环境发生变化时,信息更新的代价巨大。

Dijkstra算法用于计算从一个固定源点到其他所有节点的最短路径,其特点是以起始源点为中心,向外层层扩展,直至扩展到目标点位置。

将单源Dijkstra算法拓展为多源时,对于图G=(V,E) 顶点集合为|V|,边的集合为|E|

则时间复杂度由T=0(|V|^2+|E|)变为T=0(|V|^3+|E|* |V|),因此更适合稀疏图。


夜光精讲 Opentcs 三大算法(四)路径算法_第2张图片

 

 

 

 

 

你可能感兴趣的:(My,thoughts,微信开发,opentcs,AGV)