System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种基于斥力函数的机器人路径规划方法技术_技高网

一种基于斥力函数的机器人路径规划方法技术

技术编号:40981558 阅读:2 留言:0更新日期:2024-04-18 21:27
一种基于斥力函数的机器人路径规划方法,本发明专利技术涉及基于斥力函数的机器人路径规划方法。本发明专利技术的目的是为了解决传统A*算法遍历节点多造成的工作效率低,在一定条件下找到的不是最优路径的问题。本发明专利技术先对机器人当前所在位置的坐标进行提取,通过引入斥力探索检查当前环境的障碍物状态再实时选择机器人行走的模式,若检测到障碍物则机器人选择传统A*算法模式进行寻找路径,一旦斥力探索不到障碍物则切换直线行走模式进行寻找路径,基于此设计的方法,有效的提高了该算法的工作效率和该算法寻找最优路径的准确性。本发明专利技术用于移动机器人路径规划领域。

【技术实现步骤摘要】

本专利技术涉及应用在移动机器人路径规划领域,具体涉及基于斥力函数的机器人路径规划方法


技术介绍

1、当今时代主要集中在现代化、工业化、自动化和发展上。移动机器人逐步走进了人们的生活,伴随着人们的生活水平的不断提高,移动机器人的工作场景趋于复杂化。针对各类复杂环境下的移动机器人路径规划算法成为当前研究的热点。移动机器人的路径规划分为全局路径规划和局部路径规划,其中全局路径规划是一种静态规划算法,根据已有的地图信息为基础进行路径规划,寻找一条从起始点到目标点的最优路径。通常全局路径规划的实现包括dijikstra算法、a*算法、rrt算法等经典算法,也包括蚁群算法、遗传算法等智能算法。

2、路径规划不仅要求机器人能够快速移动,还要考虑时间、距离等复杂因素。其中,a*算法作为一种常见并且典型的启发式搜索算法,具有搜索路径快速实施简单的优点,已被广泛应用于移动机器人路径规划的研究中。a*算法是一种基于启发式函数的路径规划算法。它计算启发式函数的值在每个节点上的工作区域,并涉及检查太多的相邻节点,以找到最佳的解决方案,零碰撞概率。因此,这花费了大量的处理时间并且降低了工作速度,以上问题亟需解决。


技术实现思路

1、本专利技术的目的是为了解决传统a*算法遍历节点多造成的工作效率低,在一定条件下找到的不是最优路径的问题,而提出一种基于斥力函数的机器人路径规划方法。

2、一种基于斥力函数的机器人路径规划方法具体过程为:

3、步骤一、绘制地图,设置障碍物,设置机器人路径规划起点和目标点;

4、初始化open_list表;初始化close_list表;

5、执行步骤二;

6、步骤二、判断机器人在当前位置是否检测到斥力,若机器人在当前位置检测到斥力执行步骤四,若机器人在当前位置没有检测到斥力执行步骤三;

7、步骤三、计算机器人在当前位置与目标点的角度θ值,根据θ值计算机器人在下一位置点的坐标作为机器人当前位置坐标,将机器人当前位置坐标、f(xm)、h(xm)、g(xm)值以及机器人走过的路径坐标点添加到open_list表中,并且清空open_list表中的第一行数据,对当前open_list表中的机器人当前位置用蓝色进行填充,判断机器人当前位置是否为目标点,若是,表示机器人已经找到目标点,计算出路径长度,用黄色填充close_list表中机器人位置坐标;若不是,判断机器人当前位置是否检测到斥力,若机器人在当前位置检测到斥力执行步骤四,若机器人在当前位置没有检测到斥力,将open_list表中的第一行数据加入到close_list表中,重复执行步骤三,直至机器人找到目标点;

8、步骤四、遍历open_list表找出最小的估计函数和f(xm),然后将估计函数和f(xm)最小值、f(xm)最小值对应的h(xm)、g(xm)、机器人当前位置坐标以及机器人走过的路径坐标点从open_list表中提取出来;

9、将提取出来的估计函数和f(xm)最小值对应路径位置的坐标作为父节点即当前起始位置,计算父节点是否能检测到斥力;

10、若父节点检测不到斥力则把open_list表清空,将提取出来的信息分别加入到open_list表和close_list表中,执行步骤三;

11、若父节点检测到斥力则将提取出来的信息加入到close_list表中,判断父节点周围8个子节点中每一个子节点是否在步骤一构建的地图中,获得父节点的可行节点集合;

12、遍历父节点的可行节点集合中节点a,计算节点a的f(xm)、h(xm)、g(xm),若父节点的可行节点集合中节点a在open_list表中,则比较节点a与open_list表中节点a的g(xm)值,若可行节点集合中节点a的g(xm)值小于open_list表中节点a的g(xm)值,则将节点a的g(xm)、f(xm)值赋值给open_list表中节点a的g(xm)、f(xm);若父节点的可行节点集合中节点a不在open_list表中,则将节点a的位置坐标、节点a的f(xm)、节点a的h(xm)、节点a的g(xm)、机器人走过的路径坐标点加入到open_list表中;重复执行直至遍历完父节点的可行节点集合;

13、将open_list表中包含父节点信息的行删除,对open_list表中第一列的坐标位置用蓝色进行填充;

14、判断open_list表中是否存在目标点,若存在,计算出路径长度,用黄色填充close_list表中机器人位置坐标,结束;若不存在,判断open_list表是否为空,若为空表明查找路径失败,结束;若不为空重新执行步骤四直至找到目标点,计算出路径长度,用黄色填充close_list表中机器人位置坐标,结束。

15、本专利技术的有益效果为:

16、本专利技术通过将能够检测到障碍物的斥力函数和直线行走模式引入到传统a*算法中,提高了该算法的工作效率以及寻找最优路径的高效性,并通过斥力探索实时切换不同的工作状态解决了传统a*算法在不同环境下耗时长的问题。

17、本专利技术先对机器人当前所在位置的坐标进行提取,通过引入斥力探索检查当前环境的障碍物状态再实时选择机器人行走的模式,若检测到障碍物则机器人选择传统a*算法模式进行寻找路径,一旦斥力探索不到障碍物则切换直线行走模式进行寻找路径。基于此设计的方法,有效的提高了该算法的工作效率和该算法寻找最优路径的准确性。

本文档来自技高网...

【技术保护点】

1.一种基于斥力函数的机器人路径规划方法,其特征在于:所述方法具体过程为:

2.根据权利要求1所述的一种基于斥力函数的机器人路径规划方法,其特征在于:所述步骤一中绘制地图,设置障碍物,设置机器人路径规划起点和目标点;

3.根据权利要求2所述的一种基于斥力函数的机器人路径规划方法,其特征在于:所述步骤二中判断机器人在当前位置是否检测到斥力,若机器人在当前位置检测到斥力执行步骤四,若机器人在当前位置没有检测到斥力执行步骤三;具体过程为:

4.根据权利要求3所述的一种基于斥力函数的机器人路径规划方法,其特征在于:所述步骤二一中构建斥力函数;表达式为:

5.根据权利要求4所述的一种基于斥力函数的机器人路径规划方法,其特征在于:所述步骤三中计算机器人在当前位置与目标点的角度θ值,根据θ值计算机器人在下一位置点的坐标作为机器人当前位置坐标,将机器人当前位置坐标、f(Xm)、h(Xm)、g(Xm)值以及机器人走过的路径坐标点添加到open_list表中,并且清空open_list表中的第一行数据,对当前open_list表中的机器人当前位置用蓝色进行填充,判断机器人当前位置是否为目标点,若是,表示机器人已经找到目标点,计算出路径长度,用黄色填充close_list表中机器人位置坐标;若不是,判断机器人当前位置是否检测到斥力,若机器人在当前位置检测到斥力执行步骤四,若机器人在当前位置没有检测到斥力,将open_list表中的第一行数据加入到close_list表中,重复执行步骤三,直至机器人找到目标点;具体过程为:

6.根据权利要求5所述的一种基于斥力函数的机器人路径规划方法,其特征在于:所述步骤三二中计算机器人在当前位置与目标点的角度θ值;具体过程为:

7.根据权利要求6所述的一种基于斥力函数的机器人路径规划方法,其特征在于:所述步骤三三中根据θ值确定机器人下一位置坐标,作为机器人当前位置坐标;具体过程为:

8.根据权利要求7所述的一种基于斥力函数的机器人路径规划方法,其特征在于:所述步骤四中遍历open_list表找出最小的估计函数和f(Xm),然后将估计函数和f(Xm)最小值、f(Xm)最小值对应的h(Xm)、g(Xm)、机器人当前位置坐标以及机器人走过的路径坐标点从open_list表中提取出来;

9.根据权利要求8所述的一种基于斥力函数的机器人路径规划方法,其特征在于:所述步骤四一中估计函数和f(Xm)表达式为

...

【技术特征摘要】

1.一种基于斥力函数的机器人路径规划方法,其特征在于:所述方法具体过程为:

2.根据权利要求1所述的一种基于斥力函数的机器人路径规划方法,其特征在于:所述步骤一中绘制地图,设置障碍物,设置机器人路径规划起点和目标点;

3.根据权利要求2所述的一种基于斥力函数的机器人路径规划方法,其特征在于:所述步骤二中判断机器人在当前位置是否检测到斥力,若机器人在当前位置检测到斥力执行步骤四,若机器人在当前位置没有检测到斥力执行步骤三;具体过程为:

4.根据权利要求3所述的一种基于斥力函数的机器人路径规划方法,其特征在于:所述步骤二一中构建斥力函数;表达式为:

5.根据权利要求4所述的一种基于斥力函数的机器人路径规划方法,其特征在于:所述步骤三中计算机器人在当前位置与目标点的角度θ值,根据θ值计算机器人在下一位置点的坐标作为机器人当前位置坐标,将机器人当前位置坐标、f(xm)、h(xm)、g(xm)值以及机器人走过的路径坐标点添加到open_list表中,并且清空open_list表中的第一行数据,对当前open_list表中的机器人当前位置用蓝色进行填充,判断机器人当前位置是否为目标点,若是,表示机器人已经找到目标点,...

【专利技术属性】
技术研发人员:杨柳杨梦茹王安楠
申请(专利权)人:哈尔滨理工大学
类型:发明
国别省市:

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

1