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

一种针对栅格图模型下的移动机器人路径优化方法与流程

2021-10-09 13:00:00 来源:中国专利 TAG:机器人 路径 栅格 下移 模型

1.本发明涉及移动机器人路径规划技术领域,具体是一种针对栅格图模型下的移动机器人路径优化方法。


背景技术:

2.路径规划技术是移动机器人研究领域的一个重要组成部分,主要目的是在有障碍物的环境中,根据一定的准则(如路径最短,位置拐点最少,用时最短等),寻求一条从起始位置节点到目标位置节点之间的最优或次优安全无碰路径。
3.路径规划技术的发展在一定程度上标志着机器人智能水平的高低,而路径规划方法的优劣直接影响路径规划效果。
4.目前,国内外许多专家学者都在致力于路径规划智能算法的研究,常用的智能优化算法主要有人工势场法、免疫算法、蚁群优化算法、神经网络、粒子群优化算法和遗传算法等。
5.而使用上述算法的一个必要前提是对环境模型进行数学建模。环境模型主要是进行环境信息的表示,它是路径规划的基础,只有建立了合适的环境模型才能高效地运用路径规划算法规划出一条合适的路径。目前环境建模的主要方法有可视图法、拓扑建模法,栅格建模法等。
6.其中,由于栅格法具有易建模,易编程,结果易表示等优点,故许多国内外学者在进行机器人路径规划时选用栅格图作为环境建模方法。栅格建模法的思想是将系统环境离散化,使其分解为最基础的栅格,进而通过对栅格的描述实现环境信息获取。
7.首先,将已知环境进行适当的增补,等间隔地分割成n*n矩形区域(这里,为了消除机器人自身尺寸对后续算法的影响,可以将机器人的长或宽,其中最大的那个,来对环境中的障碍物的边界进行放大),对于其中可通过的区域,用0来代表,而不可通过的区域,用1来代替。进而,一个环境就能被转化成一个n阶0

1数字矩阵,如图1和图2所示。
8.一般在栅格图模型下定义机器人的运动规则时,以每个小矩形的中心点作为机器人的运动中心,由于此时机器人的尺寸影响被忽略,故机器人为于某个位置时,其下一步的可移动范围为相邻8个矩形位置(如无边界及障碍物影响),如图3所示。
9.因此,基于以上策略,智能算法最终给出的路径往往是一条夹角为 45
°
倍数的折线段,如期刊《机械设计与制造》在2021年06卷中169

173页《人工势场引导蚁群算法的机器人导航路径规划》中文献算法所得路径,如图4所示。
10.观察易得栅格图模型下所得路径具有一个明显的缺点,即在分析机器人移动时,仅提供了8个可移动方向,但实际情况下机器人的移动方向是自由的,因此,若不消除该缺陷,将会使得基于栅格图模型下的路径规划所得路径包含不必要的冗余成分。基于以上存在的问题,本发明采取一种辅助优化路径策略,通过将算法初步所得路径看成一段绳子,仿真从起点与终点拉伸绳子,随着绳子渐渐绷直,起点与终点之间的绳子长度将慢慢减少,直到绳子无法再拉伸,此时起点与终点之间的绳子对应最短路径。仿真实验结果表明,采取本
文优化策略,能进一步有效地削减路径长度,并且能有效地减少路径中的转向次数,避免了不必要的冗余路径成分。


技术实现要素:

11.本发明的目的在于提供一种针对栅格图模型下的移动机器人路径优化方法。通过将算法初步所得路径看成一段绳子,仿真从起点与终点拉伸绳子,随着绳子渐渐绷直,起点与终点之间的绳子长度将慢慢减少,直到绳子无法再拉伸,此时起点与终点之间的绳子对应最短路径。
12.本发明解决其技术问题所采用的技术方案是:首先,假定已知真实环境栅格化建模后的0

1矩阵m,以及算法初步给出的最短路径的节点列表

=[(0,0),(,


1. ,,


1.
),(,


2. ,,

‑2.),

(,



. ,,



.)],其中,每个元素(,


i ,,


j
)代表坐标第i列第j行的节点,并定义路径节点列表中所有发生转折的节点成为转折点,如图5中圆形标志节点所示,所有与障碍物“擦肩而过”的节点称为临界点,如图5中矩形标志节点所示。考虑到这两种节点中的一部分将构成最终优化路径的转折点,下文将这两种转折点与临界点统称为奇异点。
[0013]
一种针对栅格图模型下的移动机器人路径优化方法,主要包括以下步骤:s1、找到路径节点列表中的所有奇异点,存入并输出列表l1;s2、令i=0;s3、并判断i≤len(l1)

2(其中len(l1)为列表l1的长度),若满足则执行s4,否则执行s9;s4、依次从l1中取出位置为i、i 1、i 2的三个节点信息a、b、c;s5、判断b是否为临界点,若是,则令i = i 1,并执行s2,否则执行s6;s6、调用优化函数opt_fun(),并将返回结果存于result变量中,执行s7;s7、判断result是否为空,若是,执行s7.1;若否,则执行s8;s7.1、此时,代表a、c节点可以直接相连,删除节点b,并令i = i

1,执行s3;s8、若为否,则代表a、c无法直接相连,需要添加中间节点result,即在a、b之间插入新节点result,并令i = i 1,执行s3;s9、输出l1,即为优化后的最短路径节点信息。
[0014]
其中,优化函数opt_fun()的主要步骤如下:s1、调用is_accross_barrier(a,c)函数判断a、c两个节点是否能直接连接,并将结果存入re中,执行s2;s2、是否re[0]=true,若是,执行s3;否则执行s4;s3、返回值none,退出子程序。
[0015]
s4、调用deep_opt(a,b,c)进行优化,并将结果存于pot中;执行s5;s5、返回值pot,退出子程序。
[0016]
关于上述is_accross_barrier(a,c)函数判断a、c两点之间是否能直接连接的原理如下:首先,考虑到对起点至终点之间的整个线段进行优化处理显得较难分析,因此,借助分治算法的思想,通过逐个优化处理局部线段,最终将所有的局部优化结果进行组合,从
而构成整体的优化最终效果。
[0017]
至此,整体优化问题转化为局部的优化问题。经过一定分析可得,局部的待处理情况主要分为可直接连接与不可直接连接两种,如图6所示。
[0018]
如图6所示,a图中起点s与终点t之间显然不能直接连接,而b图中是可以直接连接的。具体方法是,连接s与t,设为线段q,则通过微元法从q上,以s为起点,以t为终点,选取n个等间距点,先依据其坐标判定其所处的栅格的坐标,检查该栅格是否存在障碍物,若所有等间距点所处的栅格皆为非障碍物栅格,则意味着两点可以直接连接,反之,则不能直接连接。关于上述deep_opt(a,b,c)函数寻找a、c两点之间中介节点的原理如图7所示:先连接s与t,依据公式在st上找到m',连接mm',以m为起点,以m'为终点,选取若干等间距点m

1 ,,m2. ,m
3 ,
…ꢀ
,m
n
,逐一取出,并判断s

m
i

t是否可以直接连接,若可以直接连接,则继续判断s

m
i 1

t,否则,当存在某一条边不能直接连接时,先找到阻隔的障碍物栅格的位置,判断其4个顶点分别与线段sm
i 1
与线段m
i 1 t的距离,找到距离最小的那个顶点,如图7中,顶点p为距离最小的顶点,因此,顶点p为中介节点。
[0019]
本发明的有益效果是,通过将算法初步所得路径看成一段绳子,仿真从起点与终点拉伸绳子的过程,能够有效缩减起点至终点的绳子长度,即路径长度,从而提高了路径规划的效率。
附图说明
[0020]
下面结合附图和实施例对本发明进一步说明:图1 栅格图;图2 0

1矩阵;图3 机器人移动范围;图4 文献算法所得路径;图5 转折点与临界点示意图;图6 局部的待处理情况;图7 寻找中介节点示意图;图 8 案例一路径优化结果;图9 案例二路径优化对比;图10 案例三路径优化对比;图11 案例四路径优化对比;图12 本发明主程序流程图;图13 opt_fun()功能函数流程图。
[0021]
具体实施方式
[0022]
本发明的目的在于提供一种针对栅格图模型下的移动机器人路径优化方法。通过将算法初步所得路径看成一段绳子,仿真从起点与终点拉伸绳子,随着绳子渐渐绷直,起点
与终点之间的绳子长度将慢慢减少,直到绳子无法再拉伸,此时起点与终点之间的绳子对应最短路径。
[0023]
本发明解决其技术问题所采用的技术方案是:首先,假定已知真实环境栅格化建模后的0

1矩阵m,以及算法初步给出的最短路径的节点列表

=[(0,0),(,


1. ,,


1.
),(,


2. ,,

‑2.),

(,



. ,,



.)],其中,每个元素(,


i ,,


j
)代表坐标第i列第j行的节点。并定义路径节点列表中所有发生转折的节点成为转折点,如图5中圆形标志节点所示,所有与障碍物“擦肩而过”的节点称为临界点,如图5中矩形标志节点所示。并将转折点与临界点统称为奇异点。
[0024]
一种针对栅格图模型下的路径的优化方法,包括以下步骤:s1、找到路径节点列表中的所有奇异点,存入并输出列表l1;s2、令i=0;s3、并判断i≤len(l1)

2(其中len(l1)为列表l1的长度),若满足则执行s4,否则执行s9;s4、依次从l1中取出位置为i、i 1、i 2的三个节点信息a、b、c;s5、判断b是否为临界点,若是,则令i = i 1,并执行s2,否则执行s6;s6、调用优化函数opt_fun(),并将返回结果存于result变量中,执行s7;s7、判断result是否为空,若是,执行s7.1;若否,则执行s8;s7.1、此时,代表a、c节点可以直接相连,删除节点b,并令i = i

1,执行s3;s8、若为否,则代表a、c无法直接相连,需要添加中间节点result,即在a、b之间插入新节点result,并令i = i 1,执行s3;s9、输出l1,即为优化后的最短路径节点信息。
[0025]
其中,优化函数opt_fun()的主要步骤如下:s1、调用is_accross_barrier(a,c)函数判断a、c两个节点是否能直接连接,并将结果存入re中,执行s2;s2、是否re[0]=true,若是,执行s3;否则执行s4;s3、返回值none,退出子程序。
[0026]
s4、调用deep_opt(a,b,c)进行优化,并将结果存于pot中;执行s5;s5、返回值pot,退出子程序。
[0027]
关于上述is_accross_barrier(a,c)函数判断a、c两点之间是否能直接连接的原理如下:首先,考虑到对起点至终点之间的整个线段进行优化处理显得较难分析,因此,借助分治算法的思想,通过逐个优化处理局部线段,最终将所有的局部优化结果进行组合,从而构成整体的优化最终效果。
[0028]
至此,整体优化问题转化为局部的优化问题。经过一定分析可得,局部的待处理情况主要分为可直接连接与不可直接连接两种,如图6所示。
[0029]
如图6所示,a图中起点s与终点t之间显然不能直接连接,而b图中是可以直接连接的。具体方法是,连接s与t,设为线段q,则通过微元法从q上,以s为起点,以t为终点,选取n个等间距点,先依据其坐标判定其所处的栅格的坐标,检查该栅格是否存在障碍物,若所有等间距点所处的栅格皆为非障碍物栅格,则意味着两点可以直接连接,反之,则不能直接连
接。
[0030]
关于上述deep_opt(a,b,c)函数寻找a、c两点之间中介节点的原理如下:先连接s与t,依据公式在st上找到m',连接mm',以m为起点,以m'为终点,选取若干等间距点m

1 ,,m2. ,m
3 ,
…ꢀ
,m
n
,逐一取出,并判断s

m
i

t是否可以直接连接,若可以直接连接,则继续判断s

m
i 1

t,否则,当存在某一条边不能直接连接时,先找到阻隔的障碍物栅格的位置,判断其4个顶点分别与线段sm
i 1
与线段m
i 1 t的距离,找到距离最小的那个顶点,如图7中,顶点p为距离最小的顶点,因此,顶点p为中介节点。
[0031]
本发明的有益效果是,通过将算法初步所得路径看成一段绳子,仿真从起点与终点拉伸绳子,能够有效缩减起点至终点的绳子长度,即路径长度,从而提高了路径规划的效率。
[0032]
本发明的效果可以通过以下仿真实验进一步说明:为验证本方法的正确性和合理性,运用python语言编程,在20
×
20的栅格环境模型下对该算法进行仿真,案例一选取上文所引用文献《人工势场引导蚁群算法的机器人导航路径规划》中的数据与结果,优化结果如下:通过对比,原文献中算法给出的最终路径长度为l1.=28.62,而经过本文优化算法处理后的新的路径长度为l2.=27.41,可以看出,本文优化算法在缩短路径长度问题上具有可行性。为了进一步证明优化算法的有效性,分别以期刊《电子科技》在2019年32期09卷中5

9页 29页《基于改进蚁群算法的移动机器人路径规划研究》文献中数据为案例二,期刊《机电工程技术》在2020年49期12卷中97

98页 117页《基于遗传算法的移动机器人路径规划》文献中数据为案例三,期刊《机床与液压》在2019年47期21卷中5

8页《基于遗传算法的机器人路径规划的种群初始化改进》文献中数据为案例四,仿真优化结果如下:表1 实验数据对比通过表1的数据不难发现,本文所提优化算法处理的结果,原路径不仅长度有一定程度的减少,而且转向次数得以大幅下降。这说明了本发明提出的优化算法在路径优化方面的具备一定的实用性。
[0033]
以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制;任何熟悉本领域的技术人员,在不脱离本发明技术方案范围情况下,都可利用上述揭示的方法和技术内容对本发明技术方案做出许多可能的变动和修饰,或修改为等同变化的等效实施例。因此,凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所做的任何简单修改、等同替换、等效变化及修饰,均仍属于本发明技术方案保护的范围内。
再多了解一些

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

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

相关文献

  • 日榜
  • 周榜
  • 月榜