一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于邻接表的路径规划方法与流程

2022-03-23 02:19:35 来源:中国专利 TAG:


1.本发明属于路径规划技术领域,更具体地,本发明涉及一种基于邻接表的路径规划方法。


背景技术:

2.近年来,随着物料输送系统、自动化立体仓库等快速发展,移动机器人在制作业输送环节得到了较为广泛的应用。同时,伴随着机器人技术不断发展,移动机器人能够取代人类从事危险恶劣环境下作业,包括:排险、处理辐射物等,同时移动机器人也逐渐应用于智能制造、医疗服务、物流等诸多领域。
3.对于移动机器人而言,规划出正确有效的路径,不仅可以提高物料运输环节的运输效率,降低运输成本,还可降低运输环节对环境的损耗。常用的路径规划方法包括floyd算法、dijstra算法、a*算法等,上述算法可以实现节点间的最短路径规划,但是当移动机器人曲线路径行驶时,由于转弯速度相对较小,与等长直线路径相比,行驶时间较长;此外,上述路径规划算法求解最短路径时,由于需要遍历所有节点,引入了大量的冗余计算,从而降低了算法计算效率。


技术实现要素:

4.本发明提供一种基于邻接表的路径规划方法,旨在生成行驶路径及行驶时间都相对短的路径。
5.本发明是这样实现的,一种基于邻接表的路径规划方法,所述方法具体包括如下步骤:
6.s1、构建环境有向图,计算环境有向图中两节点间边的权值;
7.s2、更新环境有向图,即根据环境有向图中连接边属性对权值进行调整;
8.s3、构建环境有向图的邻接表矩阵l[v],基于邻接表矩阵l[v]确定节点的邻接节点集,更新邻接节点的权值,并获取节点的前驱路径最短节点;
[0009]
s4、以移动机器人当前任务的终止节点ve为起点,依次遍历节点的前驱路径最短节点,直至查找到初始节点v0,即形成起始节点v0到终止节点ve的最短路径。
[0010]
进一步的,节点的前驱路径最短节点获取方法具体如下:
[0011]
s33、获取距移动机器人当前所处位置最近的起始节点v0;
[0012]
s34、基于邻接表矩阵l[v]确定起始节点对应邻接节点集合,依次遍历集合中所有邻接节点,选取与起始节点v0间权值d[v]最小邻接节点v
l

[0013]
s35、将起始节点v0的邻接节点v
l
添加至链表path中;
[0014]
s36、检测链表path中节点数为空,若检测结果为是,则退出当前循环,若检测结果为否,则在链表path中查找权值d[vm]最小的节点vm;
[0015]
s37、基于邻接表矩阵l[v]读取节点vm的所有邻接节点,针对每个邻接节点vj执行如下步骤:
[0016]
比较权值d[vj]与权值d[vm] w
mj
的大小,若d[vj]>d[vm] w
mj
,则令d[vj]=d[vm] w
mj
,并将节点vj添加至链表path中,同时将节点vj前驱最短路径节点设置为p[vj]=vm;
[0017]
遍历节点vm的所有邻接节点后,在链表path中剔除节点vm,执行步骤s36;
[0018]
进一步的,邻接表矩阵l[v]由所有节点的邻接表组成,节点vi的邻接表构建方法具体如下:
[0019]
s31、在环境有向图中获取节点vi的所有邻接节点v
l

[0020]
s32、添加从节点vi到各邻接节点v
l
的指针,即生成了节点vi的邻接表。
[0021]
进一步的,若节点j是节点i邻接节点,则权值更新方法如下:
[0022][0023]
其中,w'
ij
为更新的权值,在节点i与节点j间的边为直线时,w'
ij
=w
ij

[0024]
在节点i与节点j间的边为曲线时,w'
ij
=α
·wij
,α为曲线路径的权值放大系数,节点i与节点j间边的权值计算公式具体如下:
[0025][0026]
其中,(x1,y1)、(x2,y2)分别表示节点i、节点j在环境有向地图中的坐标。
[0027]
本发明提出了一种基于邻接表的路径规划方法,尽量最少行驶路径中的曲线路段,生成路径长度及行驶时间都相对短的路径,有利于提高移动机器人运输效率、降低运输成本;此外,方法简单、且适应性强,具有实际使用意义。
附图说明
[0028]
图1为本发明实施例提供的基于邻接表的路径规划方法流程图。
具体实施方式
[0029]
下面对照附图,通过对实施例的描述,对本发明的具体实施方式作进一步详细的说明,以帮助本领域的技术人员对本发明的发明构思、技术方案有更完整、准确和深入的理解。
[0030]
图1为本发明实施例提供的基于邻接表的路径规划方法流程图,该方法具体包括如下步骤:
[0031]
s1、构建环境有向图,计算环境有向图中两节点间边的权值;
[0032]
构建环境有向图g=(v,e),其中v代表环境有向图中的节点,e表示环境有向图中两节点间的边,并且每一条边都含有一个权值,其计算方法如下:
[0033][0034]
若节点j是节点i的邻接节点,则节点j与节点i间边的权值为节点i与节点j间的欧式距离,若节点j不是节点i的邻接节点,则节点j与节点i间边的权值为无穷大,其中,(x1,
y1)、(x2,y2)分别表示节点i、节点j在环境有向图中的坐标。
[0035]
s2、更新环境有向图,即根据环境有向图中连接边属性对权值进行调整;
[0036]
在节点i与节点j之间有直接通路时(即节点j是节点i邻接节点),则权值更新方法如下:
[0037][0038]
其中,w'
ij
为更新的权值,在节点i与节点j间的边为直线时,w'
ij
=w
ij
,在节点i与节点j间的边为曲线时,w'
ij
=α
·wij
,α为曲线路径的权值放大系数,α>1。
[0039]
s3、构建环境有向图的邻接表矩阵l[v],基于邻接表矩阵l[v]确定节点的邻接节点,更新邻接节点的权值,并获取节点的前驱路径最短节点;
[0040]
在本发明实施例中,邻接表矩阵l[v]由所有节点的邻接表组成,节点vi的邻接表构建方法具体如下:
[0041]
s31、在环境有向地图中获取节点vi的所有邻接节点v
l

[0042]
s32、添加从节点vi到各邻接节点v
l
的指针,即生成了节点vi的邻接表。
[0043]
在本发明实施例中,d[v]定义为节点v与起始节点v0间边的权值,p[v]定义为节点v的前驱最短路径节点,所有节点的前驱路径最短节点获取方法具体包括如下步骤:
[0044]
s33、获取距移动机器人当前所处位置最近的起始节点v0;
[0045]
s34、基于邻接表矩阵l[v]确定起始节点对应邻接节点集合,依次遍历集合中所有邻接节点,选取与起始节点v0间权值d[v]最小邻接节点;
[0046]
s35、将与起始节点的邻接节点v
l
添加至链表path中;
[0047]
s36、检测链表path中节点数为空,若检测结果为是,则退出当前循环,若检测结果为否,则在链表path中查找权值d[vm]最小的节点vm;
[0048]
s37、基于邻接表矩阵l[v]读取节点vm的所有邻接节点,针对每个邻接节点vj执行如下步骤:
[0049]
比较权值d[vj]与权值d[vm] w
mj
的大小,若d[vj]≤d[vm] w
mj
,则不修改权值d[vj],若d[vj]>d[vm] w
mj
,则令d[vj]=d[vm] w
mj
,并将节点vj添加至链表path中,同时将节点vj前驱最短路径节点设置为p[vj]=vm;
[0050]
遍历节点vm的所有邻接节点后,在链表path中剔除节点vm,执行步骤s36;
[0051]
d[vj]表示节点vj相对于起始节点v0的权值,d[vm]节点vm相对于起始节点v0的权值,w
mj
表示节点vm与节点vj所在边的权值;
[0052]
s4、以移动机器人当前任务的终止节点ve为起点,依次遍历节点的前驱路径最短节点,直至查找到初始节点v0,即形成起始节点v0到终止节点的最短路径。
[0053]
本发明提出了一种基于邻接表的路径规划方法,尽量最少行驶路径中的曲线路段,生成路径长度及行驶时间都相对短的路径,有利于提高移动机器人运输效率、降低运输成本;此外,方法简单、且适应性强,具有实际使用意义。
[0054]
上面结合附图对本发明进行了示例性描述,显然本发明具体实现并不受上述方式的限制,只要采用了本发明的方法构思和技术方案进行的各种非实质性的改进,或未经改进将本发明的构思和技术方案直接应用于其它场合的,均在本发明的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献