CN113156968B - 一种移动机器人的路径规划方法及系统 - Google Patents
一种移动机器人的路径规划方法及系统 Download PDFInfo
- Publication number
- CN113156968B CN113156968B CN202110489908.3A CN202110489908A CN113156968B CN 113156968 B CN113156968 B CN 113156968B CN 202110489908 A CN202110489908 A CN 202110489908A CN 113156968 B CN113156968 B CN 113156968B
- Authority
- CN
- China
- Prior art keywords
- node
- list
- path
- unit
- grid
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0212—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
- G05D1/0221—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory involving a learning process
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0276—Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle
Landscapes
- Engineering & Computer Science (AREA)
- Aviation & Aerospace Engineering (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
Abstract
一种移动机器人的路径规划方法,包括:获得起始节点;获得第一目标节点;对open列表、closed列表和path列表进行初始化,记录mark值为0;将起始节点加入初始化后的open列表中;获得第一栅格地图中的非障碍物节点;获得当前节点;获得第一子节点;将第一子节点加入所述open列表中;将当前节点加入所述closed列表并从open列表中删除,mark值+1;获得第二判断结果;如果第二判断结果为所述第一目标节点在closed列表中,将第一目标节点加入path列表中;如果起始节点在path列表中,获得第一路径信息。解决了现有技术存在无法高效简单的得到机器人的路径规划中准确的最佳路径的技术问题。
Description
技术领域
本申请涉及机器人领域,具体涉及一种移动机器人的路径规划方法及系统。
背景技术
目前,移动机器人广泛应用于工业制造、航空航天、国防科技、医疗卫生、政企服务、科学研究等多个领域。在实际应用中,物流机器人、安防机器人、政企服务机器人、巡检机器人、教学平台机器人正在走进我们的工作和生活,成为重要的有前景的研究热点。
移动机器人技术研究领域中,路径规划技术是一个重要的研究分支,其目的是移动机器人在有障碍物的工作环境中,依据行走路径最短、所用代价最小等评价标准,寻找一条从包括位置和姿态的起始状态到达目标状态的最优无障碍路径。路径规划是移动机器人的核心功能,是其完成自主导航与避障任务的基础。根据环境信息的理解层次的不同,路径规划通常分为全局路径规划和局部路径规划两大部分,全局规划主要负主要依据全局环境信息在全局地图上搜索全局最优路径或次优路径,它的作用是引导机器人向目标点移动;局部路径规划是指在机器人运动过程中,使用自身携带的传感器获取机器人周围的环境信息,并规划一条有效路径,通常具有较高的灵活性和实时性。
但本申请发明人在实现本申请实施例中发明技术方案的过程中,发现上述技术至少存在如下技术问题:
现有技术中存在无法高效简单的得到机器人的路径规划中准确的最佳路径的技术问题。
发明内容
本申请实施例提供了一种移动机器人的路径规划方法及系统,解决了现有技术中存在无法高效简单的得到机器人的路径规划中准确的最佳路径的技术问题。达到了通过逐步类推扩展节点得到诸多小段最佳路径后再反向依次连接,最终再结合实际环境情况判断分析,从而高效简单的得到机器人的路径规划中准确的最佳路径的技术效果。
鉴于上述问题,本申请实施例提供了一种移动机器人的路径规划方法及系统。
第一方面,本申请实施例提供了一种移动机器人的路径规划方法,其中,所述方法应用于第一移动机器人,所述方法包括:根据所述第一移动机器人,获得第一栅格地图;根据所述第一移动机器人,获得所述第一移动机器人的起始节点;获得第一目标节点;获得open列表、closed列表和path列表;对所述open列表、closed列表和path列表进行初始化,记录mark值为0;将所述起始节点加入所述初始化后的所述open列表中;获得所述第一栅格地图中的非障碍物节点;根据所述非障碍物节点,获得当前节点,对所述当前节点进行扩展;获得第一子节点;将所述第一子节点加入所述初始化后的所述open列表中;将所述当前节点加入所述closed列表并从所述open列表中删除,mark值+1;判断所述第一目标节点是否在所述closed列表中,获得第二判断结果;如果所述第二判断结果为所述第一目标节点在所述closed列表中,将所述第一目标节点加入所述path列表中;判断所述起始节点是否在所述path列表中;如果所述起始节点在所述path列表中,获得第一路径信息。
另一方面,本申请实施例提供了一种移动机器人的路径规划系统,所述系统包括:第一获得单元,所述第一获得单元用于根据所述第一移动机器人,获得第一栅格地图;第二获得单元,所述第二获得单元用于根据所述第一移动机器人,获得所述第一移动机器人的起始节点;第三获得单元,所述第三获得单元用于获得第一目标节点;第四获得单元,所述第四获得单元用于获得open列表、closed列表和path列表;第一初始单元,所述第一初始单元用于对所述open列表、closed列表和path列表进行初始化,记录mark值为0;第一添加单元,所述第一添加单元用于将所述起始节点加入所述初始化后的所述open列表中;第五获得单元,所述第五获得单元用于获得所述第一栅格地图中的非障碍物节点;第六获得单元,所述第六获得单元用于根据所述非障碍物节点,获得当前节点,对所述当前节点进行扩展;第七获得单元,所述第七获得单元用于获得第一子节点;第二添加单元,所述第二添加单元用于将所述第一子节点加入所述初始化后的所述open列表中;第一删除单元,所述第一删除单元用于将所述当前节点加入所述closed列表并从所述open列表中删除,mark值+1;第一判断单元,所述第一判断单元用于判断所述第一目标节点是否在所述closed列表中,获得第二判断结果;第三添加单元,所述第三添加单元用于如果所述第二判断结果为所述第一目标节点在所述closed列表中,将所述第一目标节点加入所述path列表中;第二判断单元,所述第二判断单元用于判断所述起始节点是否在所述path列表中;第八获得单元,所述第八获得单元用于如果所述起始节点在所述path列表中,获得第一路径信息。
第三方面,本申请实施例提供了一种移动机器人的路径规划系统,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述程序时实现第一方面任一项所述方法的步骤。
本申请实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:
由于采用了通过根据所述第一移动机器人,获得第一栅格地图;根据所述第一移动机器人,获得所述第一移动机器人的起始节点;获得第一目标节点;获得open列表、closed列表和path列表;对所述open列表、closed列表和path列表进行初始化,记录mark值为0;将所述起始节点加入所述初始化后的所述open列表中;获得所述第一栅格地图中的非障碍物节点;根据所述非障碍物节点,获得当前节点,对所述当前节点进行扩展;获得第一子节点;将所述第一子节点加入所述初始化后的所述open列表中;将所述当前节点加入所述closed列表并从所述open列表中删除,mark值+1;判断所述第一目标节点是否在所述closed列表中,获得第二判断结果;如果所述第二判断结果为所述第一目标节点在所述closed列表中,将所述第一目标节点加入所述path列表中;判断所述起始节点是否在所述path列表中;如果所述起始节点在所述path列表中,获得第一路径信息的技术方案。达到了通过逐步类推扩展节点得到诸多小段最佳路径后再反向依次连接,最终再结合实际环境情况判断分析,从而高效简单的得到机器人的路径规划中准确的最佳路径的技术效果。
上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,而可依照说明书的内容予以实施,并且为了让本申请的上述和其它目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。
附图说明
图1为本申请实施例一种移动机器人的路径规划方法的流程示意图;
图2为本申请实施例一种移动机器人的路径规划系统的结构示意图;
图3为本申请实施例示例性电子设备的结构示意图。
附图标记说明:第一获得单元11,第二获得单元12,第三获得单元13,第四获得单元14,第一初始单元15,第一添加单元16,第五获得单元17,第六获得单元18,第七获得单元19,第二添加单元20,第一删除单元21,第一判断单元22,第三添加单元23,第二判断单元24,第八获得单元25,总线300,接受器301,处理器302,发送器303,存储器304,总线接口305。
具体实施方式
本申请实施例提供了一种移动机器人的路径规划方法及系统,解决了现有技术中存在无法高效简单的得到机器人的路径规划中准确的最佳路径的技术问题。达到了通过使用A*算法对环境中目标路径进行搜索,再结合实际环境情况判断分析,从而高效简单的得到机器人的路径规划中准确的最佳路径的技术效果。下面,将参考附图详细的描述根据本申请的示例实施例。显然,所描述的实施例仅是本申请的一部分实施例,而不是本申请的全部实施例,应理解,本申请不受这里描述的示例实施例的限制。
申请概述
移动机器人技术研究领域中,路径规划技术是一个重要的研究分支,其目的是移动机器人在有障碍物的工作环境中,依据行走路径最短、所用代价最小等评价标准,寻找一条从包括位置和姿态的起始状态到达目标状态的最优无障碍路径。路径规划是移动机器人的核心功能,是其完成自主导航与避障任务的基础。根据环境信息的理解层次的不同,路径规划通常分为全局路径规划和局部路径规划两大部分,全局规划主要负主要依据全局环境信息在全局地图上搜索全局最优路径或次优路径,它的作用是引导机器人向目标点移动;局部路径规划是指在机器人运动过程中,使用自身携带的传感器获取机器人周围的环境信息,并规划一条有效路径,通常具有较高的灵活性和实时性。但现有技术中存在无法高效简单的得到机器人的路径规划中准确的最佳路径的技术问题。
针对上述技术问题,本申请提供的技术方案总体思路如下:
本申请实施例提供了一种移动机器人的路径规划方法及系统,其中,所述方法包括:根据所述第一移动机器人,获得第一栅格地图;根据所述第一移动机器人,获得所述第一移动机器人的起始节点;获得第一目标节点;获得open列表、closed列表和path列表;对所述open列表、closed列表和path列表进行初始化,记录mark值为0;将所述起始节点加入所述初始化后的所述open列表中;获得所述第一栅格地图中的非障碍物节点;根据所述非障碍物节点,获得当前节点,对所述当前节点进行扩展;获得第一子节点;将所述第一子节点加入所述初始化后的所述open列表中;将所述当前节点加入所述closed列表并从所述open列表中删除,mark值+1;判断所述第一目标节点是否在所述closed列表中,获得第二判断结果;如果所述第二判断结果为所述第一目标节点在所述closed列表中,将所述第一目标节点加入所述path列表中;判断所述起始节点是否在所述path列表中;如果所述起始节点在所述path列表中,获得第一路径信息。
在介绍了本申请基本原理后,下面将结合说明书附图来具体介绍本申请的各种非限制性的实施方式。
实施例一
如图1所示,本申请实施例提供了一种移动机器人的路径规划方法,其中,所述方法包括:
S100:根据所述第一移动机器人,获得第一栅格地图;
具体而言,移动机器人是近年来发展起来的一门重要学科,是机器人研究领域的一个重要分支,它是综合了自动控制、传感技术、机电工程、计算机技术以及人工智能等多学科的最新研究成果。在此处所述第一移动机器人指的是用于规划路径各步骤的操作与执行实体;机器人学中地图的表示方法有四种:特征地图、拓扑地图、栅格地图以及直接表征法,本申请实施例中优选栅格地图。栅格图像,也称光栅图像,是指在空间和亮度上都已经离散化了的图像,栅格地图是把环境划分成一系列栅格,其中每一栅格给定一个可能值,表示该栅格被占据的概率,也可以把一幅栅格地图考虑为一个矩阵,矩阵中的任一元素对应于地图中的一个点,而相应的值对应于该点的灰度级,数字矩阵中的元素叫做像素。所述第一栅格地图指的是将所述第一移动机器人需要规划路径的实际环境转化而成的栅格地图,为所述第一移动机器人的路径规划做好准备工作。
S200:根据所述第一移动机器人,获得所述第一移动机器人的起始节点;
S300:获得第一目标节点;
具体而言,所述第一移动机器人的起始节点指的是所述第一移动机器人在所需规划路径的实际环境中的起点位置,在此处指的是所述第一移动机器人的起点位置在所述第一栅格地图中的对应的节点信息;所述第一目标节点指的是所述第一移动机器人在所需规划路径的实际环境中预定的终点位置,在此处指的是所述第一移动机器人的终点位置在所述第一栅格地图中的对应的节点信息。通过所述第一栅格地图准确的获得所述第一起始节点信息和所述第一目标节点信息,确定了需要规划路径的空间范围。
S400:获得open列表、closed列表和path列表;
S500:对所述open列表、closed列表和path列表进行初始化,记录mark值为0;
具体而言,将规划最短路径的问题抽象为在由无数个白色和黑色方块无规则排列组成的图形中,寻找从某个特定白色方块到另一个特定白色方块的最短距离的问题,其中白色方块代表非障碍物,黑色方块代表障碍物,在探索路径的过程中需要探索多个方块,则所述open列表指的是存放已知但还没有探索过的区块,所述closed列表指的是存放已经探索过的区块,所述path列表指的是存放已经探索过的从起点到当前指定方格的最优路径,所述mark值指的是对每一个探索过的区块进行标记,具体可呈现为0、1、2、3等数值。进一步的,对所述open列表、closed列表和path列表进行初始化,记录mark值为0。所述初始化指的是在计算机编程领域中指为数据对象或变量赋初值的做法,通过将open列表、closed列表和path列表进行初始化,mark赋值为0,使执行路径规划算法的各单元都进入准备状态。
S600:将所述起始节点加入所述初始化后的所述open列表中;
具体而言,所述起始节点为常规所述第一移动机器人的起始节点信息,所述将所述起始节点加入所述初始化后的所述open列表中指的是将所述起始节点的位置信息加入至所述初始化之后的所述open列表中,具体添加方式为在所述初始化之后的所述初始化之后的所述open列表中加入所述起始节点的位置信息后,判断所述初始化之后的所述open列表是否为空,如果所述初始化之后的所述open列表为空就说明所述起始节点的位置信息添加失败,则无法进一步的寻找路径,就再次将所述起始节点的位置信息加入至所述初始化之后的所述open列表,直至所述初始化之后的所述open列表判断不为空,开始进一步的算法。
S700:获得所述第一栅格地图中的非障碍物节点;
S800:根据所述非障碍物节点,获得当前节点,对所述当前节点进行扩展;
具体而言,所述第一栅格地图中的非障碍物节点指的是所述第一移动机器人在所需要规划路径的实际环境中,所述第一移动机器人移动时不会受限制的位置信息。
进一步的,通过使用A*算法对所有的所述第一栅格地图中的非障碍物节点位置信息与所述起始节点的位置信息进行计算之间的最佳路径进行计算,进而得到所述第一移动机器人在所有的所述第一栅格地图中的非障碍物节点移动最优路径,最优路径是综合所述第一栅格地图中的非障碍物节点到所述起始节点的最短距离信息和所述第一栅格地图中的非障碍物节点到所述第一目标节点的最短距离信息而得到路径信息。进一步的,所述当前节点指的就是通过比较所有的所述第一栅格地图中的非障碍物节点移动最佳路径,得到的最佳路径信息中最小的所述非障碍物节点的位置信息。
更进一步的,原本所述起始节点是扩展节点,当所述当前节点的在所述第一栅格地图中的位置信息获得之后,就将所述起始节点从所述open列表中删除并加入到所述closed列表中,且将当前节点作为新的扩展节点,继续执行与所述起始节点相同的操作。通过遍历整个所述open列表,得到所述第一移动机器人从所述起始节点可以通往所述第一目标节点的所述当前节点的位置信息,并对当前节点进行扩展,达到了快速而简单的获得了所述第一移动机器人移动最佳路径的技术效果。
S900:获得第一子节点;
进一步的,基于所述获得第一子节点,本申请实施例S900还包括:
S910:判断所述非障碍物节点是否在所述closed列表中,获得第一判断结果;
S920:根据所述第一判断结果,获得第一子节点
S1000:将所述第一子节点加入所述初始化后的所述open列表中;
具体而言,所述第一判断结果指的是判断所述非障碍物节点是否在所述closed列表中,如果所述非障碍物节点不在所述closed列表中,则其中的最佳路径值最小的子节点为所述第一子节点信息,如果所述非障碍物节点在所述closed列表中,则表示所述非障碍物节点为探索过的节点,就不能加入所述open列表中。进一步的,将所述第一子节点加入所述初始化后的所述open列表中,可以使其成为新的扩展节点,再以所述第一子节点的位置信息遍历所述open列表中的所有所述第一栅格地图中的非障碍物节点信息,进一步的得到相对于所述第一子结点和所述第一目标节点的最佳路径值最小的节点的位置信息,更进一步的,将所述第一节点加入所述closed列表并从所述open列表中删除,按照此算法,一直到所述第一目标节点加入所述closed列表时停止。通过遍历整个所述open列表,得到所述第一移动机器人从所述起始节点可以通往所述第一目标节点的所述当前节点的位置信息,并对当前节点进行扩展,达到了快速而简单且准确的获得所述第一移动机器人移动最佳路径的技术效果。
S1100:将所述当前节点加入所述closed列表并从所述open列表中删除,mark值+1;
S1200:判断所述第一目标节点是否在所述closed列表中,获得第二判断结果;
S1300:如果所述第二判断结果为所述第一目标节点在所述closed列表中,将所述第一目标节点加入所述path列表中;
具体而言,所述第二判断结果指的是在所述第一目标节点加入所述closed列表后,判断所述第一目标节点是否在所述closed列表中,如果所述第一目标节点在所述closed列表中,则不再对所述open列表中的新的扩展节点进行扩展,进一步的,将所述第一目标节点加入至所述path列表中,所述第一目标节点的前一个拥有最佳路径的节点信息加入至所述path列表中,一直到所述起始节点加入至所述path列表中时停止,则此时所述path列表中已经得到所有的所述非障碍物节点的最佳路径信息,从所述第一目标节点按返回顺序直到所述起始节点的路径信息,就是所述第一移动机器人在所需要规划路径的实际环境中的最佳路径;如果所述第一目标节点不在所述closed列表中,则继续对所述open列表中的新的扩展节点进行扩展,直到所述第一目标节点在所述closed列表中时停止。通过对所述closed列表进行判断,根据判断结果得到是否执行所述path列表中操作,是否停止所述open列表中的操作,使得在执行时不会多个进程同时运行,达到了高效且简单的获得所述第一移动机器人移动最佳路径的技术效果。
S1400:判断所述起始节点是否在所述path列表中;
S1500:如果所述起始节点在所述path列表中,获得第一路径信息。
具体而言,判断所述起始节点是否在所述path列表中,如果所述起始节点在所述path列表中,则从所述第一目标节点到所述起始节点按照顺序返回所述path列表中的所有节点信息,即为所述第一路径信息,就是所述第一移动机器人在所需要规划路径的实际环境中的最优路径;如果所述起始节点不在所述path列表中,则继续将所述closed列表中的节点信息按从所述第一目标节点到所述起始节点的顺序加入至path列表中,直到所述起始节点在所述path列表中时停止,继而返回得到所述第一路径信息。通过对所述path列表进行判断,在所述起始节点信息加入所述path列表时立即停止进程,进而反向依次连接所述path列表中的节点信息,可以准确的获得所述第一路径信息。达到了简单且准确的获得所述第一移动机器人移动最佳路径的技术效果。
进一步的,基于所述根据所述第一移动机器人,获得第一栅格地图,本申请实施例步骤S100还包括:
S120:根据所述第一移动机器人,获得第一环境信息;
S130:根据所述第一环境信息,获得栅格因子;
S140:根据所述栅格因子,获得第一栅格地图。
具体而言,所述第一环境信息指的是所述第一移动机器人需要规划最优路径的实际环境的情况,具体为,包括的长度,宽度的障碍物信息、非障碍物的节点信息等环境信息;所述栅格因子指的是栅格的边长,它可以直接影响规划路径的精确度,因为栅格大小随着栅格因子的改变而改变。若栅格因子偏小,虽然可以对环境描述的更加准确,但会增加计算机的运行时间;若栅格因子偏大,对于复杂或范围较大的环境很难准确表示,机器人可能规划不出移动路径;栅格环境地图由两类栅格构成,一类是自由栅格,用f(x)=0表示,即机器人可通行区域;另一类是障碍物栅格,用f(x)=1表示,是机器人需要绕行的区域。在进行路径规划操作之前,需要先将可通行区域栅格用白色表示,不可通行区域用黑色表示。所述第一栅格地图就是基于栅格因子,再结合所述非障碍物的节点信息与障碍物的节点信息最终构建而成的虚拟环境地图。通过将所述第一移动机器人的所需要规划路径的实际环境信息数据化为所述第一栅格地图,可以更加准确,简单的进行指令执行与操作,便于高效的规划出所需要的最佳路径。
更进一步的,基于所述获得栅格因子,本申请实施例步骤S130还包括:
S131:根据所述第一环境信息,获得栅格面积信息和环境面积比信息;
S132:根据所述栅格面积信息和所述环境面积比信息,获得栅格因子。
具体而言,所述栅格因子指的就是栅格的边长,它可以直接影响规划路径的精确度,因为栅格大小随着栅格因子的改变而改变。进一步的,所述栅格面积指的是所述第一环境信息中的所有障碍物面积之和的大小;所述环境面积指的是所述第一移动机器人在所述栅格因子栅格因子大小取决于移动机器人工作环境的大小,可以采用所述栅格面积与所述环境面积比来确定栅格因子。若环境中的障碍物是不规则图形或凸形时,将其化为三角形或多个三角形的组合。更进一步的,若它不能分解成几个不相交的三角形,则选择最小包含障碍物的矩形并连接对角,将障碍物分成两个相同的三角形。通过所述栅格面积与所述环境面积比来确定栅格因子,得到合适的栅格因子大小,进而可以使得所述第一移动机器人更加高效的规划出所述第一路径信息。
更进一步的,本申请实施例S130还包括:
S133:判断所述第一环境信息中是否存在障碍物;
S134:如果所述第一环境信息中存在所述障碍物,通过下述公式计算获得障碍物面积信息:
其中:a为所述障碍物最大的横坐标值;
b为所述障碍物最大的纵坐标值。
更进一步的,基于所述获得栅格因子,本申请实施例S130还包括:
S135:通过下述公式获得:
其中,S0为所有障碍物面积之和,SW为环境空间总面积;
dmax为所述障碍物边长的极大值;
dmin为所述障碍物边长的极小值。
进一步的,基于所述根据所述非障碍物节点,获得当前节点,本申请实施例S800还包括:
S810:根据所述非障碍物节点,获得所述非障碍物节点中最小节点;
S820:将所述最小节点作为所述当前节点。
具体而言,A*算法在用于路径规划时具有简单迅速等优点,所以本申请实施例优选的选择A*算法进行路径规划,A*算法的评估函数形式为f(n)=h(n)+g(n),其中,f(n)为初始状态与节点以及目标点三者的评价函数,g(n)为状态环境之中的初始点与某一节点之间的真实代价,h(n)自当前节点n至目标节点路径这一过程中的预算代价。具体的所述代价,在所述栅格地图中使用长度表示,每一个所述栅格的边长以及对角线长度,而在每一个所述栅格中的代价选择相加时选择一个最小代价,最终得到的f(n)最小的节点信息就认为是所述最小节点。
更进一步的,若h(n)为0,那么就只是g(n)有效果,那么A*算法就成为了Dijkstra算法,这样就能够寻找到最短路径。若h(n)的预算代价小于节点到目标的真实代价,那么此时A*算法同样可以达到搜索出最优路径的目的。如果h(n)越小,那么A*算法经过扩展得到的结点就会增加,那么此时的运行速率就会降低。若h(n)精确到与某一节点到目标点之间的真实代价相等,那么此时A*算法就可以更快寻找到最佳路径同时其也不会进行额外拓展,此时的速率将达到最快。若所付出的代价是要高于某一节点与目标点的代价,那么此时可能就无法寻找到最佳路径,但是速率提升了。若h(n)所付出的代价是要高于某一节点与目标点的代价,那么此时可能就无法寻找到最佳路径,但是速率提升了。而另一种情况是,若h(n)比g(n)大很多,此时g(n)的作用基本被忽略,那么算法就变成了BFS算法。通过优选使用A*算法对所述第一移动机器人在所需要路径规划的实际环境中进行路径规划,使的所述第一移动机器人可以更加快速简单的得到从所述起始节点到所述第一目标节点的最优路径信息。
综上所述,本申请实施例所提供的一种移动机器人的路径规划方法及系统具有如下技术效果:
1、由于采用了通过根据所述第一移动机器人,获得第一栅格地图;根据所述第一移动机器人,获得所述第一移动机器人的起始节点;获得第一目标节点;获得open列表、closed列表和path列表;对所述open列表、closed列表和path列表进行初始化,记录mark值为0;将所述起始节点加入所述初始化后的所述open列表中;获得所述第一栅格地图中的非障碍物节点;根据所述非障碍物节点,获得当前节点,对所述当前节点进行扩展;获得第一子节点;将所述第一子节点加入所述初始化后的所述open列表中;将所述当前节点加入所述closed列表并从所述open列表中删除,mark值+1;判断所述第一目标节点是否在所述closed列表中,获得第二判断结果;如果所述第二判断结果为所述第一目标节点在所述closed列表中,将所述第一目标节点加入所述path列表中;判断所述起始节点是否在所述path列表中;如果所述起始节点在所述path列表中,获得第一路径信息的技术方案。达到了通过逐步类推扩展节点得到诸多小段最佳路径后再反向依次连接,最终再结合实际环境情况判断分析,从而高效简单的得到机器人的路径规划中准确的最佳路径的技术效果。
2、由于优选了A*算法作为路径规划的算法,对所述第一移动机器人在所需要路径规划的实际环境中进行路径规划,使的所述第一移动机器人可以更加快速简单的得到从所述起始节点到所述第一目标节点的最优路径信息。
实施例二
基于与前述实施例中一种移动机器人的路径规划方法相同的发明构思,如图2所示,本申请实施例提供了一种移动机器人的路径规划系统,所述系统包括:
第一获得单元11,所述第一获得单元11用于根据所述第一移动机器人,获得第一栅格地图;
第二获得单元12,所述第二获得单元12用于根据所述第一移动机器人,获得所述第一移动机器人的起始节点;
第三获得单元13,所述第三获得单元13用于获得第一目标节点;
第四获得单元14,所述第四获得单元14用于获得open列表、closed列表和path列表;
第一初始单元15,所述第一初始单元15用于对所述open列表、closed列表和path列表进行初始化,记录mark值为0;
第一添加单元16,所述第一添加单元16用于将所述起始节点加入所述初始化后的所述open列表中;
第五获得单元17,所述第五获得17单元用于获得所述第一栅格地图中的非障碍物节点;
第六获得单元18,所述第六获得单元18用于根据所述非障碍物节点,获得当前节点,对所述当前节点进行扩展;
第七获得单元19,所述第七获得单元19用于获得第一子节点;
第二添加单元20,所述第二添加单元20用于将所述第一子节点加入所述初始化后的所述open列表中;
第一删除单元21,所述第一删除单元21用于将所述当前节点加入所述closed列表并从所述open列表中删除,mark值+1;
第一判断单元22,所述第一判断单元22用于判断所述第一目标节点是否在所述closed列表中,获得第二判断结果;
第三添加单元23,所述第三添加单元23用于如果所述第二判断结果为所述第一目标节点在所述closed列表中,将所述第一目标节点加入所述path列表中;
第二判断单元24,所述第二判断单元24用于判断所述起始节点是否在所述path列表中;
第八获得单元25,所述第八获得单元25用于如果所述起始节点在所述path列表中,获得第一路径信息。
进一步的,所述系统还包括:
第九获得单元,所述第九获得单元用于根据所述第一移动机器人,获得第一环境信息;
第十获得单元,所述第十获得单元用于根据所述第一环境信息,获得栅格因子;
第十一获得单元,所述第十一获得单元用于根据所述栅格因子,获得第一栅格地图。
进一步的,所述系统还包括:
第十二获得单元,所述第十二获得单元用于根据所述第一环境信息,获得栅格面积信息和环境面积比信息;
第十三获得单元,所述第十三获得单元用于根据所述栅格面积信息和所述环境面积比信息,获得栅格因子。
进一步的,所述系统还包括:
第三判断单元,所述第三判断单元用于判断所述第一环境信息中是否存在障碍物;
第一计算单元,所述第一计算单元用于如果所述第一环境信息中存在所述障碍物,通过下述公式计算获得障碍物面积信息:
其中:a为所述障碍物最大的横坐标值;
b为所述障碍物最大的纵坐标值。
进一步的,所述系统还包括:
第二计算单元,所述第二计算单元用于获得栅格因子,通过下述公式获得:
其中,S0为所有障碍物面积之和,SW为环境空间总面积;
dmax为所述障碍物边长的极大值;
dmin为所述障碍物边长的极小值。
进一步的,所述系统还包括:
第十四获得单元,所述第十四获得单元用于根据所述非障碍物节点,获得所述非障碍物节点中最小节点;
第一作为单元,所述第一作为单元用于将所述最小节点作为所述当前节点。
进一步的,所述系统还包括:
第四判断单元,所述第四判断单元用于判断所述非障碍物节点是否在所述closed列表中,获得第一判断结果;
第十五获得单元,所述第十五获得单元用于根据所述第一判断结果,获得第一子节点。
示例性电子设备
下面参考图3来描述本申请实施例的电子设备。
基于与前述实施例中一种移动机器人的路径规划方法相同的发明构思,本申请实施例还提供一种移动机器人的路径规划系统,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述程序时实现权利要求1-7任一项所述方法的步骤。
其中,在图3中,总线架构(用总线300来代表),总线300可以包括任意数量的互联的总线和桥,总线300将包括由处理器302代表的一个或多个处理器和存储器304代表的存储器的各种电路链接在一起。总线300还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口305在总线300和接受器301和发送器303之间提供接口。接受器301和发送器303可以是同一个元件,即收发机,提供用于在传输介质上与各种其他系统通信的单元。
处理器302负责管理总线300和通常的处理,而存储器304可以被用于存储处理器302在执行操作时所使用的数据。
本申请实施例提供了一种移动机器人的路径规划方法,其中,所述方法应用于第一移动机器人,所述方法包括:根据所述第一移动机器人,获得第一栅格地图;根据所述第一移动机器人,获得所述第一移动机器人的起始节点;获得第一目标节点;获得open列表、closed列表和path列表;对所述open列表、closed列表和path列表进行初始化,记录mark值为0;将所述起始节点加入所述初始化后的所述open列表中;获得所述第一栅格地图中的非障碍物节点;根据所述非障碍物节点,获得当前节点,对所述当前节点进行扩展;获得第一子节点;将所述第一子节点加入所述初始化后的所述open列表中;将所述当前节点加入所述closed列表并从所述open列表中删除,mark值+1;判断所述第一目标节点是否在所述closed列表中,获得第二判断结果;如果所述第二判断结果为所述第一目标节点在所述closed列表中,将所述第一目标节点加入所述path列表中;判断所述起始节点是否在所述path列表中;如果所述起始节点在所述path列表中,获得第一路径信息。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的系统。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令系统的制造品,该指令系统实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (8)
1.一种移动机器人的路径规划方法,其中,所述方法应用于第一移动机器人,所述方法包括:
根据所述第一移动机器人,获得第一栅格地图,所述第一栅格地图选择A*算法进行路径规划,其中所述A*算法的评估函数为:
f(n)=h(n)+g(n)
其中,f(n)为初始状态与节点以及目标点三者的评价函数;
g(n)为状态环境之中的初始点与某一节点之间的真实代价;
h(n)自当前节点n至目标节点路径这一过程中的预算代价,其中,所述真实代价和所述预算代价在所述第一栅格地图中使用长度表示,包括所述第一栅格地图中每一个栅格的边长以及对角线长度,其中,在每一个所述栅格中的所述真实代价和所述预算代价选择相加时选择一个最小代价;
根据所述第一移动机器人,获得所述第一移动机器人的起始节点;
获得第一目标节点;
获得open列表、closed列表和path列表;
对所述open列表、closed列表和path列表进行初始化,记录mark值为0;
将所述起始节点加入所述初始化后的所述open列表中;
获得所述第一栅格地图中的非障碍物节点;
根据所述非障碍物节点,获得所述非障碍物节点中最小节点,其中,所述最小节点为所述f(n)的最小的节点信息;
将所述最小节点作为所述当前节点,对所述当前节点进行扩展;
获得第一子节点;
将所述第一子节点加入所述初始化后的所述open列表中;
将所述当前节点加入所述closed列表并从所述open列表中删除,mark值+1;
判断所述第一目标节点是否在所述closed列表中,获得第二判断结果;
如果所述第二判断结果为所述第一目标节点在所述closed列表中,将所述第一目标节点加入所述path列表中;
判断所述起始节点是否在所述path列表中;
如果所述起始节点在所述path列表中,获得第一路径信息。
2.如权利要求1所述的方法,其中,所述根据所述第一移动机器人,获得第一栅格地图,包括:
根据所述第一移动机器人,获得第一环境信息;
根据所述第一环境信息,获得栅格因子;
根据所述栅格因子,获得第一栅格地图。
3.如权利要求2所述的方法,其中,所述获得栅格因子,包括:
根据所述第一环境信息,获得栅格面积信息和环境面积比信息;
根据所述栅格面积信息和所述环境面积比信息,获得栅格因子。
6.如权利要求1所述的方法,其中,所述获得第一子节点,包括:
判断所述非障碍物节点是否在所述closed列表中,获得第一判断结果;
根据所述第一判断结果,获得第一子节点。
7.一种移动机器人的路径规划系统,所述系统包括:
第一获得单元,所述第一获得单元用于根据所述第一移动机器人,获得第一栅格地图,所述第一栅格地图选择A*算法进行路径规划,其中所述A*算法的评估函数为:
f(n)=h(n)+g(n)
其中,f(n)为初始状态与节点以及目标点三者的评价函数;
g(n)为状态环境之中的初始点与某一节点之间的真实代价;
h(n)自当前节点n至目标节点路径这一过程中的预算代价,其中,所述真实代价和所述预算代价在所述第一栅格地图中使用长度表示,包括所述第一栅格地图中每一个栅格的边长以及对角线长度,其中,每一个所述栅格中的所述真实代价和所述预算代价相加时选择一个最小代价;
第二获得单元,所述第二获得单元用于根据所述第一移动机器人,获得所述第一移动机器人的起始节点;
第三获得单元,所述第三获得单元用于获得第一目标节点;
第四获得单元,所述第四获得单元用于获得open列表、closed列表和path列表;
第一初始单元,所述第一初始单元用于对所述open列表、closed列表和path列表进行初始化,记录mark值为0;
第一添加单元,所述第一添加单元用于将所述起始节点加入所述初始化后的所述open列表中;
第五获得单元,所述第五获得单元用于获得所述第一栅格地图中的非障碍物节点;
第七获得单元,所述第七获得单元用于获得第一子节点;
第二添加单元,所述第二添加单元用于将所述第一子节点加入所述初始化后的所述open列表中;
第一删除单元,所述第一删除单元用于将所述当前节点加入所述closed列表并从所述open列表中删除,mark值+1;
第一判断单元,所述第一判断单元用于判断所述第一目标节点是否在所述closed列表中,获得第二判断结果;
第三添加单元,所述第三添加单元用于如果所述第二判断结果为所述第一目标节点在所述closed列表中,将所述第一目标节点加入所述path列表中;
第二判断单元,所述第二判断单元用于判断所述起始节点是否在所述path列表中;
第八获得单元,所述第八获得单元用于如果所述起始节点在所述path列表中,获得第一路径信息;
第十四获得单元,所述第十四获得单元用于根据所述非障碍物节点,获得所述非障碍物节点中最小节点;
第一作为单元,所述第一作为单元用于将所述最小节点作为所述当前节点,对所述当前节点进行扩展。
8.一种移动机器人的路径规划系统,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述程序时实现权利要求1-6任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110489908.3A CN113156968B (zh) | 2021-05-06 | 2021-05-06 | 一种移动机器人的路径规划方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110489908.3A CN113156968B (zh) | 2021-05-06 | 2021-05-06 | 一种移动机器人的路径规划方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113156968A CN113156968A (zh) | 2021-07-23 |
CN113156968B true CN113156968B (zh) | 2023-03-21 |
Family
ID=76873512
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110489908.3A Active CN113156968B (zh) | 2021-05-06 | 2021-05-06 | 一种移动机器人的路径规划方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113156968B (zh) |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6049339A (en) * | 1997-12-22 | 2000-04-11 | Adobe Systems Incorporated | Blending with planar maps |
JP2007041656A (ja) * | 2005-07-29 | 2007-02-15 | Sony Corp | 移動体制御方法および移動体 |
CN100468265C (zh) * | 2007-08-24 | 2009-03-11 | 北京航空航天大学 | 一种复合式视觉导航方法与装置 |
JP5086942B2 (ja) * | 2008-09-02 | 2012-11-28 | トヨタ自動車株式会社 | 経路探索装置、経路探索方法、及び経路探索プログラム |
CN103439972B (zh) * | 2013-08-06 | 2016-06-29 | 重庆邮电大学 | 一种动态复杂环境下的移动机器人路径规划方法 |
CN105116902A (zh) * | 2015-09-09 | 2015-12-02 | 北京进化者机器人科技有限公司 | 一种移动机器人避障导航的方法和系统 |
CN105955280A (zh) * | 2016-07-19 | 2016-09-21 | Tcl集团股份有限公司 | 移动机器人路径规划和避障方法及系统 |
CN110442125A (zh) * | 2019-07-15 | 2019-11-12 | 电子科技大学 | 一种移动机器人的动态路径规划方法 |
CN112034836B (zh) * | 2020-07-16 | 2023-06-16 | 北京信息科技大学 | 一种改进a*算法的移动机器人路径规划方法 |
-
2021
- 2021-05-06 CN CN202110489908.3A patent/CN113156968B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN113156968A (zh) | 2021-07-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Takei et al. | Time-optimal multi-stage motion planning with guaranteed collision avoidance via an open-loop game formulation | |
Hacohen et al. | Applying probability navigation function in dynamic uncertain environments | |
Ding et al. | Trajectory replanning for quadrotors using kinodynamic search and elastic optimization | |
CN111830983A (zh) | 动态环境下的多智能体群系统导航与避障方法及装置 | |
Iversen et al. | Benchmarking motion planning algorithms for bin-picking applications | |
Cohen et al. | Discretization-based and look-ahead algorithms for the dubins traveling salesperson problem | |
CN118092413A (zh) | 一种多机器人系统的路径规划方法、终端及存储介质 | |
KR102529332B1 (ko) | 컨텍스트 맵을 활용한 로봇 기반 최적 실내 배송경로 탐색 방법 | |
Kulathunga et al. | Path planning followed by kinodynamic smoothing for multirotor aerial vehicles (mavs) | |
Jafarzadeh et al. | An exact geometry-based algorithm for path planning | |
CN113156968B (zh) | 一种移动机器人的路径规划方法及系统 | |
CN113885531A (zh) | 用于移动机器人的方法、移动机器人、电路、介质和程序 | |
González | Fast Marching Methods in path and motion planning: improvements and high-level applications | |
CN109977455B (zh) | 一种适用于带地形障碍三维空间的蚁群优化路径构建方法 | |
CN118293938A (zh) | 一种基于人工智能的机器人路径规划方法及系统 | |
Escrig et al. | Autonomous robot navigation using human spatial concepts | |
Ishida et al. | Robot path planning for multiple target regions | |
Aguilar et al. | A distributed algorithm for exploration of unknown environments with multiple robots | |
US12147236B2 (en) | Methods and systems for path planning in a known environment | |
Roesler et al. | Evaluation of slam algorithms for highly dynamic environments | |
Masehian et al. | Mobile robot online motion planning using generalized Voronoi graphs | |
Vithalani et al. | Autonomous navigation using monocular ORB SLAM2 | |
Cowlagi et al. | Multi-resolution path planning: Theoretical analysis, efficient implementation, and extensions to dynamic environments | |
Kuznetsov et al. | Algorithm of target point assignment for robot path planning based on costmap data | |
Li et al. | FRTree Planner: Robot Navigation in Cluttered and Unknown Environments with Tree of Free Regions |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |