一种基于人工势场法的机器人跳点搜索算法制造技术

技术编号:32341119 阅读:35 留言:0更新日期:2022-02-16 18:50
本发明专利技术提供了一种基于人工势场法的机器人跳点搜索算法,本发明专利技术使用跳点搜索算法路径规划时效率较低的问题,提出了基于人工势场法的跳点搜索算法。该算法结合了人工势场法的引力与斥力的合力下所指出的的方向与跳点搜索遍历基于父节点获得的方向作为遍历方向寻找跳点,以此来减少搜索跳点是不必要的遍历,提高算法在路径规划时的效率;并且跳点搜索法自身特性也有效解决了人工势场法陷入局部极小值点的缺陷;最后由于该算法最终找到的路径路径不够平滑,在部分路径中存在锐点,导致现实中应用会引起移动机器人急停的情况,速度波动较大,因此在该算法的基础上,引入三次B样条曲线平滑优化拐点处的路径。使该算法能够更快地寻找到平滑路径,最终使移动机器人更加稳定的更加快速的到达目标点。更加快速的到达目标点。更加快速的到达目标点。

【技术实现步骤摘要】
一种基于人工势场法的机器人跳点搜索算法


[0001]本专利技术涉及一种基于人工势场法的机器人跳点搜索算法,属于机器人控制


技术介绍

[0002]移动机器人路径规划,最终目的是寻找到一条可以从起始点到目标点的路径,但前提是可以保证移动机器人在向目标点移动的时候不会与障碍发生碰撞。另外,在满足这项目标的前提之下,我们还需解决如何花最短的时间、最低的成本去寻找距离最近的最优路径。常用二维栅格地图最短路径规划的算法有Dijkstra算法、A

Star算法、跳点搜搜索算法等等。而且针对二维栅格地图,如何让移动机器人更加高效地找出最优路径,一直是个本领域技术人员需要解决的问题。

技术实现思路

[0003]本专利技术目的是提供了一种基于人工势场法的机器人跳点搜索算法,以便解决使用跳点搜索算法路径规划时效率较低的问题与人工势场法的在运行中出现的局部最优解的问题。
[0004]本专利技术为实现上述目的,通过以下技术方案实现:
[0005]1)将障碍物填充至完整栅格图中,初始化各个变量G值、H值、F值,openlist、closedlist表,存储1.5倍机器人尺寸为&值,计算起始点G值、H值、F值,将起始点存入openlist中,寻找openlist中最小F值的点设为当前点,判断当前点是否为目标点;若判断结果为否跳转步骤2否则跳转步骤3;
[0006]2)将当前点从openlist中删除,将当前点加入closelist中,判断人工势场法是否出现局部最小点问题,未出现局部最小点问题转向步骤2.1;出现局部最小点问题转向步骤2.2;
[0007]2.1)人工势场法计算方向,当前点判断方向,两方向相同按照当前点寻找;若不同依次寻找按照两方向寻找,判断方向若为直线方向转向步骤4;若为对角线方向转向步骤5;
[0008]2.2)基于障碍物之间斥力大小,计算障碍之间通道距离大小,并与&值比较,如果通道距离大于等于&值,则该方向可以通过,转向步骤2.1,如果通道距离小于&值,则该方向不能通过,转向步骤5;
[0009]3)找到最终路径,三次B样条曲线,算法完成;
[0010]4)此步骤分为三种情况:4.1当前点左后方不可走且左方可走;4.2当前点方向可走;4.3当前点右后方不可走且右方可走;
[0011]4.1)当前点左后方不可走且左方可走,按照跳点定义沿当前点左前方和左方寻找不在closelist中的跳点,判断跳点是否在openlist中,是则转向步骤6,不是则转向步骤7;
[0012]4.2)当前点方向可走,按照跳点定义沿当前点方向寻找不在closelist中的跳点,判断跳点是否在openlist中,是则转向步骤6,不是则转向步骤7;
[0013]4.3)当前点右后方不可走且右方可走,按照跳点定义沿当前点右前方和右方寻找不在closelist中的跳点,判断跳点是否在openlist中,是则转向步骤6,不是则转向步骤7;
[0014]5)利用跳点搜索法搜寻跳点;
[0015]6)跳点在openlist中,将跳点中的G值、H值、F值,父节点更新,寻找openlist中最小F值的点设为当前点,判断当前点是否为目标点,是目标点转向步骤3,不是目标点转向步骤2;
[0016]7)跳点不在openlist中,计算跳点G值、H值、F值,父节点,将跳点存入openlist中,寻找openlist中最小F值的点设为当前点,判断当前点是否为目标点,是目标点转向步骤3,不是目标点转向步骤2。
[0017]优选的,所述步骤1中将障碍物填充至完整栅格图中后需要将障碍物扩张填充网格,所述扩张尺寸大于等于2&。
[0018]优选的,所述步骤2.2中基于障碍物之间斥力大小,计算障碍之间通道距离大小具体步骤如下:
[0019]1)求解引力场U
att
(P)和斥力场U
rep
(P):
[0020]U
att
(P)=0.5a|P
t

P|2[0021][0022]其中,P、P
t
分别代表机器人、目标点位置向量,P0表示障碍物距机器人最近点位置向量,P0表示障碍物斥力场的影响距离,α、β分别引力、斥力正比例增益系数;
[0023]2)利用引力场和斥力场求解引力F
att
和斥力F
rep
(P),即
[0024][0025][0026]3)求出障碍物之间的引力与斥力差,最后使用力与距离换算公式求出两障碍物之间的距离,所述力与距离换算公式如下:
[0027]d=FL
[0028]其中d为通道距离,L为力矩正比例系数,其取值范围取0<L≤1。
[0029]优选的,所述步骤3中B样条曲线平滑次数大于等于三次。
[0030]本专利技术的优点在于:本专利技术主要是针对移动机器人在二维栅格地图下,使用跳点搜索算法路径规划时效率较低的问题,提出了基于人工势场法的跳点搜索算法。该算法采用人工势场法的提供的搜寻方向作为参考方向,加上人工势场法基于当前点的方向,提高算法搜寻跳点效率,避免遍历无效跳点,增加计算量;此外还为搜索到的路径平滑化,使该路径更好的在移动机器人中使用。最终使移动机器人在复杂情况下更加快速地找出最优路径。
附图说明
[0031]附图用来提供对本专利技术的进一步理解,并且构成说明书的一部分,与本专利技术的实
施例一起用于解释本专利技术,并不构成对本专利技术的限制。
[0032]图1为用于移动机器人路径规划的跳点搜索算法强迫邻居搜索示意图;
[0033]图2为移动机器人路径规划的跳点搜索算法跳点搜索示意图;
[0034]图3为本专利技术中搜索跳点是直线与对角线遍历示选择意图;
[0035]图4为本专利技术寻找路径示意图;
[0036]图5为本专利技术的流程结构示意图。
[0037]图6为本专利技术障碍物扩张示意图。
具体实施方式
[0038]下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0039]基于人工势场法的缺陷,当局部势场极小点情况时,主要会出现两种情况,路径规划可以通过或者路径规划不通过。针对这两种情况的出现,本专利提出对人工势场法的改进。在算法中创建一个&值,主要用来记录移动机器的尺寸的1.5倍(预留移动机器人通过的安全距离)。人工势场法路径规划过程中,也会对判断是否出现局部势场极小点情况,当检测出陷入局部势场极小点时,人工势场法会采取提前预设的措施。其中排斥力随障碍物与移动机器人间距的减本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于人工势场法的机器人跳点搜索算法,其特征在于,包括以下步骤:1)获取障碍物图像,将障碍物填充至完整栅格图中,初始化各个变量G值、H值、F值,openlist、closedlist表,存储1.5倍机器人尺寸为&值,计算起始点G值、H值、F值,将起始点存入openlist中,寻找openlist中最小F值的点设为当前点,判断当前点是否为目标点;若判断结果为否跳转步骤2否则跳转步骤3;2)将当前点从openlist中删除,将当前点加入closelist中,判断人工势场法是否出现局部最小点问题,未出现局部最小点问题转向步骤2.1;出现局部最小点问题转向步骤2.2;2.1)人工势场法计算方向,当前点判断方向,两方向相同按照当前点寻找;若不同依次寻找按照两方向寻找,判断方向若为直线方向转向步骤4;若为对角线方向转向步骤5;2.2)基于障碍物之间斥力大小,计算障碍之间通道距离大小,并与&值比较,如果通道距离大于等于&值,则该方向可以通过,转向步骤2.1,如果通道距离小于&值,则该方向不能通过,转向步骤5;3)找到最终路径,使用B样条曲线将转折点处平滑化,算法完成;4)此步骤分为三种情况:4.1当前点左后方不可走且左方可走;4.2当前点方向可走;4.3当前点右后方不可走且右方可走;4.1)当前点左后方不可走且左方可走,按照跳点定义沿当前点左前方和左方寻找不在closelist中的跳点,判断跳点是否在openlist中,是则转向步骤6,不是则转向步骤7;4.2)当前点方向可走,按照跳点定义沿当前点方向寻找不在closelist中的跳点,判断跳点是否在openlist中,是则转向步骤6,不是则转向步骤7;4.3)当前点右后方不可走且右方可走,按照跳点定义沿当前点右前方和右方寻找不在closelist中的跳点,判断跳点是否在openlist中,是则转向步...

【专利技术属性】
技术研发人员:高焕兵侯宇翔鲁守银李艳萍高诺
申请(专利权)人:山东建筑大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1