CN116642508A - 一种改进a星算法的路径规划方法,装置及机器人 - Google Patents
一种改进a星算法的路径规划方法,装置及机器人 Download PDFInfo
- Publication number
- CN116642508A CN116642508A CN202310633512.0A CN202310633512A CN116642508A CN 116642508 A CN116642508 A CN 116642508A CN 202310633512 A CN202310633512 A CN 202310633512A CN 116642508 A CN116642508 A CN 116642508A
- Authority
- CN
- China
- Prior art keywords
- node
- grids
- type
- grid
- value
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 26
- 238000003491 array Methods 0.000 claims abstract description 15
- 238000004590 computer program Methods 0.000 description 15
- 238000010586 diagram Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 7
- 230000004888 barrier function Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 239000000463 material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000002245 particle Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/26—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
- G01C21/34—Route searching; Route guidance
- G01C21/3446—Details of route searching algorithms, e.g. Dijkstra, A*, arc-flags, using precalculated routes
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/26—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
- G01C21/28—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network with correlation of data from several navigational instruments
- G01C21/30—Map- or contour-matching
- G01C21/32—Structuring or formatting of map data
Landscapes
- Engineering & Computer Science (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Automation & Control Theory (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
Abstract
本发明提供了改进A星算法的路径规划方法,其包括如下步骤:S1,获取栅格地图,并将所述栅格地图划分为一二维数组,所述二维数组中的每个元素均对应栅格地图中的一个栅格;S2,将起始所在栅格的节点放到开放列表openlist中,其中开放列表中每个节点有5个属性;S3,从开放列表openlist中将F值最小的节点放到关闭列表closelist中,如果该节点为目标节点,则结束搜索;否则搜索该节点对应栅格的相邻节点;本发明的改进的A星算法的路径规划方法,对不同栅格赋予不同的代表数值,并在表数值J的引导下,搜索出来的路径经过的栅格会大多为第一类和第四类栅格,会尽可能的远离障碍物。
Description
技术领域
本发明涉及机器人技术领域,具体来说,涉及一种改进A星算法的路径规划方法,装置及机器人。
背景技术
机器人运行在开放环境中时,机器人从当前位置规划到目标点时,最短的路径意味着会离障碍物很近,可能会因为定位的偏移亦或者或控制的偏差,容易撞上障碍物,而且与障碍物越近,机器人运行速度也不能太快,一点点的误差都会导致与障碍物的摩擦。
A星算法是静态路网中求解最短路径最有效的直接搜索方法,结合Dijkstra算法与最佳优先算法BFS优点,综合考虑起始点到当前节点的真实代价与当前节点到终点的估计代价,在保证搜索效率的同时,得到最优的路径。
本文提供的背景描述用于总体上呈现本公开的上下文的目的。除非本文另外指示,在该章节中描述的资料不是该申请的权利要求的现有技术并且不要通过包括在该章节内来承认其成为现有技术。
发明内容
针对相关技术中的上述技术问题,本发明提出了一种改进A星算法的路径规划方法,其包括如下步骤:
S1,获取栅格地图,并将所述栅格地图划分为一二维数组,所述二维数组中的每个元素均对应栅格地图中的一个栅格;其中栅格地图中的栅格分为四类:第一类栅格为已探明无障碍物的栅格,第二类栅格为已探明有障碍物的栅格,第三类栅格为尚未探明的栅格;以第二类栅格为中心,第一半径R到第一安全半径R_safe之间的栅格为第四类栅格;
S2,将起始所在栅格的节点放到开放列表openlist中,其中开放列表中每个节点有5个属性:父节点、F、G、H和J;父节点为路径中通过该节点所经过的上一节点,G为起始节点到该节点的代价,H为该节点到目标节点的代价,J为该节点所属栅格类型的代表数值;
S3,从开放列表openlist中将F值最小的节点放到关闭列表closelist中,如果该节点为目标节点,则结束搜索;否则搜索该节点对应栅格的相邻节点,如果其相邻节点在openlist中,则比较它经由此点的F值与之前F值的大小,如果更大,则忽略,否则更新相邻节点的属性,将其父节点更新为此节点;如果其相邻节点不在openlist中,则计算其G值,H值,J值和F值,将相邻节点加入openlist中;
S4,重复执行步骤S2-S3直到搜索到目标节点。
具体的,所述第一类栅格的代表数值为0,所述第二类栅格的代表数值为254,所述第三类栅格的代表数值为255所述第四类栅格的代表数值为254-0。
具体的,在第一半径到第一安全半径之间的第四类栅格按照预设梯度下降为第一类栅格。
具体的,所述步骤S3还包括:搜索该节点对应栅格的相邻节点,如果相邻节点所在的栅格为第三类或者第二类栅格,则忽略该点;如果相邻节点已在关闭列表closelist中,则忽略该点。
具体的,所述步骤S1还包括:以原始栅格地图中的第二类栅格为中心,第一半径R以内的栅格都标记为第二类栅格;在第一半径R到第一安全R_safe之间的栅格按照一定梯度下降为第一类栅格,R到R_safe之间的栅格记为第四类栅格,以获取所述栅格地图。
第二方面,本发明的另一个实施例公开了一种改进A星算法的路径规划装置,其包括如下单元:
栅格地图处理单元,用于获取栅格地图,并将所述栅格地图划分为一二维数组,所述二维数组中的每个元素均对应栅格地图中的一个栅格;其中栅格地图中的栅格分为四类:第一类栅格为已探明无障碍物的栅格,第二类栅格为已探明有障碍物的栅格,第三类栅格为尚未探明的栅格;以第二类栅格为中心,第一半径R到第一安全半径R_safe之间的栅格为第四类栅格;
开放列表处理单元,用于将起始所在栅格的节点放到开放列表openlist中,其中开放列表中每个节点有5个属性:父节点、F、G、H和J;父节点为路径中通过该节点所经过的上一节点,G为起始节点到该节点的代价,H为该节点到目标节点的代价,J为该节点所属栅格类型的代表数值;
搜索单元,用于从开放列表openlist中将F值最小的节点放到关闭列表closelist中,如果该节点为目标节点,则结束搜索;否则搜索该节点对应栅格的相邻节点,如果其相邻节点在openlist中,则比较它经由此点的F值与之前F值的大小,如果更大,则忽略,否则更新相邻节点的属性,将其父节点更新为此节点;如果其相邻节点不在openlist中,则计算其G值,H值,J值和F值,将相邻节点加入openlist中;
目标节点获取单元,用于重复执行开放列表处理单元、搜索单元直到搜索到目标节点。
具体的,所述第一类栅格的代表数值为0,所述第二类栅格的代表数值为254,所述第三类栅格的代表数值为255所述第四类栅格的代表数值为254-0。
具体的,在第一半径到第一安全半径之间的第四类栅格按照预设梯度下降为第一类栅格。
具体的,所述搜索单元还包括:搜索该节点对应栅格的相邻节点,如果相邻节点所在的栅格为第三类或者第二类栅格,则忽略该点;如果相邻节点已在关闭列表closelist中,则忽略该点。
第三方面,本发明的另一个实施例公开了一种机器人,所述机器人包括:一处理模块,一底盘,一存储模块,一定位和导航模块,所述存储模块存储有指令,在所述指令被执行时,用于实现上述的一种改进A星算法的路径规划方法。
第四方面,本发明的另一个实施例公开了一种非易失性存储器,所述非易失性存储器上存储有指令,所述指令被处理器执行时,用于实现上述的一种改进A星算法的路径规划。
本实施例改进的A星算法的路径规划方法,对不同栅格赋予不同的代表数值,并在表数值J的引导下,搜索出来的路径经过的栅格会大多为第一类和第四类栅格,会尽可能的远离障碍物。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的改进A星算法的路径规划方法流程图;
图2是本发明实施例提供的原始栅格地图示意图;
图3是本发明实施例提供的本实施例使用的栅格地图示意图;
图4是本发明实施例提供的相邻节点示意图;
图5是本发明实施例提供的本实施例规划的路径示意图;
图6是本发明实施例提供的一种改进A星算法的路径规划装置示意图;
图7是本发明实施例提供的改进A星算法的路径规划设备示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
参考图1,本实施例公开了一种改进A星算法的路径规划方法,其包括如下步骤:
S1,获取栅格地图,并将所述栅格地图划分为一二维数组,所述二维数组中的每个元素均对应栅格地图中的一个栅格;其中栅格地图中的栅格分为四类:第一类栅格为已探明无障碍物的栅格,第二类栅格为已探明有障碍物的栅格,第三类栅格为尚未探明的栅格;以第二类栅格为中心,第一半径R到第一安全半径R_safe之间的栅格为第四类栅格;
参考图2,图2是栅格地图示意图,栅格地图为由一个个正方形的栅格所组成的地图。其中的栅格可以分为三类,第一类栅格为已探明无障碍物的栅格,一般可以使用白色表示,代表数值为0;第二类栅格为已探明有障碍物的栅格,一般可以使用黑色表示,代表数值为254;第三类栅格为尚未探明的栅格,一般可以使用灰色表示,代表数值为255。
本实施例的改进A星算法的路径规划方法应用于机器人中,本实施例的机器人包括一底盘、一定位与导航模块。其中底盘是一个可控制的底盘,能够进行移动。
本实施例的机器人具有栅格地图,所述栅格地图可以存储在机器人自身的存储器,也可以存储在服务器上,机器人可以从服务器下载对应的栅格地图。
本发明的获取原始栅格地图,并对原始栅格地图进行处理以获取的本实施例使用的栅格地图,本实施例的栅格地图中的栅格分为四类,并且每一个栅格均具有栅格类型的代表数值。
具体的,对所述原始栅格地图进行处理的方法如下:
对原始栅格地图中的第二类栅格经过膨胀处理,以第二类栅格为中心,半径R以内的栅格都标记为第二类栅格(即将障碍物进行一定的扩大,将第二类栅格膨胀了半径R,并将膨胀半径R内的如第一类栅格改为第二类栅格,这样在规划时可以把机器人视为质点,避免装上障碍物),半径R一般为机器人多边形形体的内切圆半径。然后在半径R到R_safe之间的栅格按照一定梯度下降为第一类栅格,一般的R_safe=R+0.3m。R到R_safe之间的栅格记为第四类栅格,R到R_safe之间的栅格会从黑色慢慢降为白色,代表数值为254~0,越黑代表离障碍物越近,如图3所示。
S2,将起始所在栅格的节点放到开放列表openlist中,其中开放列表中每个节点有5个属性:父节点、F、G、H和J;父节点为路径中通过该节点所经过的上一节点,G为起始节点到该节点的代价,H为该节点到目标节点的代价,J为该节点所属栅格类型的代表数值;
构建开放列表openlist与关闭列表closelist;openlist中存放在路径规划中待检测的节点,closelist中存放已检测过的节点;将起始位置所在栅格的节点放到openlist中;开放列表和关闭列表中每个节点有个5个属性:父节点、F、G、H和J。父节点为路径中通过该节点所经过的上一节点,G为起始节点到该节点的代价,H为该节点到目标节点的代价,J为该节点所属栅格类型的代表数值,F=G+H+J;起始节点没有父节点,G为0,H为该节点到目标点的欧式距离,J为该节点所属栅格类型的代表数值。
S3,从开放列表openlist中将F值最小的节点放到关闭列表closelist中,如果该节点为目标节点,则结束搜索;否则搜索该节点对应栅格的相邻节点,如果其相邻节点在openlist中,则比较它经由此点的F值与之前F值的大小,如果更大,则忽略,否则更新相邻节点的属性,将其父节点更新为此节点;如果其相邻节点不在openlist中,则计算其G值,H值,J值和F值,将相邻节点加入openlist中;
从openlist中将F值最小的节点放到closelist中,如果该节点为目标节点,则结束搜索。否则搜索该节点对应栅格的相邻节点,即上下左后四个栅格节点。如果相邻节点所在的栅格为第三类或者第二类栅格,则忽略该点;如果相邻节点已在closelist中,则忽略该点;如果其相邻节点在openlist中,则比较它经由此点的F值与之前F值的大小,如果更大,则忽略,否则更新相邻节点的属性,将其父节点更新为此节点;如果其相邻节点不在openlist中,则计算其G值,H值,J值和F值,将其加入openlist中。相邻节点位置如图4所示。
S4,重复执行步骤S2-S3直到搜索到目标节点。
本实施例改进的A星算法的路径规划方法,对不同栅格赋予不同的代表数值,并在表数值J的引导下,搜索出来的路径经过的栅格会大多为第一类和第四类栅格,会尽可能的远离障碍物,参考图4,本实施例规划出来的路径会像黑色那样,而不是像白色那样经过狭小的通道,机器人中心会与障碍物保持R_safe的距离。进一步的,本实施例对障碍物进行一定的膨胀,并将膨胀后的第一类栅格转换为第二类栅格,从而避免撞上障碍物。
实施例二
参考图6,本实施例公开了一种改进A星算法的路径规划装置,其包括如下单元:
栅格地图处理单元,用于获取栅格地图,并将所述栅格地图划分为一二维数组,所述二维数组中的每个元素均对应栅格地图中的一个栅格;其中栅格地图中的栅格分为四类:第一类栅格为已探明无障碍物的栅格,第二类栅格为已探明有障碍物的栅格,第三类栅格为尚未探明的栅格;以第二类栅格为中心,第一半径R到第一安全半径R_safe之间的栅格为第四类栅格;
参考图2,图2是栅格地图示意图,栅格地图为由一个个正方形的栅格所组成的地图。其中的栅格可以分为三类,第一类栅格为已探明无障碍物的栅格,一般可以使用白色表示,代表数值为0;第二类栅格为已探明有障碍物的栅格,一般可以使用黑色表示,代表数值为254;第三类栅格为尚未探明的栅格,一般可以使用灰色表示,代表数值为255。
栅格地图中的第二类栅格经过膨胀处理,以第二类栅格为中心,半径R以内的栅格都标记为第二类栅格,半径R一般为机器人多边形形体的内切圆半径。然后在半径R到R_safe之间的栅格按照一定梯度下降为第一类栅格,一般的R_safe=R+0.3m。R到R_safe之间的栅格记为第四类栅格,R到R_safe之间的栅格会从黑色慢慢降为白色,代表数值为254~0,越黑代表离障碍物越近,如图3所示。
开放列表处理单元,用于将起始所在栅格的节点放到开放列表openlist中,其中开放列表中每个节点有5个属性:父节点、F、G、H和J;父节点为路径中通过该节点所经过的上一节点,G为起始节点到该节点的代价,H为该节点到目标节点的代价,J为该节点所属栅格类型的代表数值;
构建开放列表openlist与关闭列表closelist;openlist中存放在路径规划中待检测的节点,closelist中存放已检测过的节点;将起始位置所在栅格的节点放到openlist中;开放列表和关闭列表中每个节点有个5个属性:父节点、F、G、H和J。父节点为路径中通过该节点所经过的上一节点,G为起始节点到该节点的代价,H为该节点到目标节点的代价,J为该节点所属栅格类型的代表数值,F=G+H+J;起始节点没有父节点,G为0,H为该节点到目标点的欧式距离,J为该节点所属栅格类型的代表数值。
搜索单元,用于从开放列表openlist中将F值最小的节点放到关闭列表closelist中,如果该节点为目标节点,则结束搜索;否则搜索该节点对应栅格的相邻节点,如果其相邻节点在openlist中,则比较它经由此点的F值与之前F值的大小,如果更大,则忽略,否则更新相邻节点的属性,将其父节点更新为此节点;如果其相邻节点不在openlist中,则计算其G值,H值,J值和F值,将相邻节点加入openlist中;
从openlist中将F值最小的节点放到closelist中,如果该节点为目标节点,则结束搜索。否则搜索该节点对应栅格的相邻节点,即上下左后四个栅格节点。如果相邻节点所在的栅格为第三类或者第二类栅格,则忽略该点;如果相邻节点已在closelist中,则忽略该点;如果其相邻节点在openlist中,则比较它经由此点的F值与之前F值的大小,如果更大,则忽略,否则更新相邻节点的属性,将其父节点更新为此节点;如果其相邻节点不在openlist中,则计算其G值,H值,J值和F值,将其加入openlist中。相邻节点位置如图4所示。
目标节点获取单元,用于重复执行开放列表处理单元、搜索单元直到搜索到目标节点。
本实施例改进的A星算法的路径规划装置,对不同栅格赋予不同的代表数值,并在表数值J的引导下,搜索出来的路径经过的栅格会大多为第一类和第四类栅格,会尽可能的远离障碍物,参考图4,本实施例规划出来的路径会像黑色那样,而不是像白色那样经过狭小的通道,机器人中心会与障碍物保持R_safe的距离。进一步的,本实施例对障碍物进行一定的膨胀,并将膨胀后的第一类栅格转换为第二类栅格,从而避免撞上障碍物。
实施例三
本实施例公开了一种机器人,所述机器人包括:一处理模块,一底盘,一存储模块,所述存储模块存储有指令,在所述指令被执行时,用于实现如实施例一所述的一种改进A星算法的路径规划方法。
在另一个实施方式中,一种机器人,所述机器人包括:一处理模块,一底盘,一存储模块,,还包括如实施例二所述的一种改进A星算法的路径规划装置。
实施例四
参考图7,图7是本实施例的一种改进A星算法的路径规划设备的结构示意图。该实施例的改进A星算法的路径规划设备20包括处理器21、存储器22以及存储在所述存储器22中并可在所述处理器21上运行的计算机程序。所述处理器21执行所述计算机程序时实现上述方法实施例中的步骤。或者,所述处理器21执行所述计算机程序时实现上述各装置实施例中各模块/单元的功能。
示例性的,所述计算机程序可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器22中,并由所述处理器21执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序在所述改进A星算法的路径规划设备20中的执行过程。例如,所述计算机程序可以被分割成实施例二中的各个模块,各模块具体功能请参考上述实施例所述的装置的工作过程,在此不再赘述。
所述改进A星算法的路径规划设备20可包括,但不仅限于,处理器21、存储器22。本领域技术人员可以理解,所述示意图仅仅是改进A星算法的路径规划设备20的示例,并不构成对改进A星算法的路径规划设备20的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述改进A星算法的路径规划设备20还可以包括输入输出设备、网络接入设备、总线等。
所述处理器21可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器21是所述改进A星算法的路径规划设备20的控制中心,利用各种接口和线路连接整个改进A星算法的路径规划设备20的各个部分。
所述存储器22可用于存储所述计算机程序和/或模块,所述处理器21通过运行或执行存储在所述存储器22内的计算机程序和/或模块,以及调用存储在存储器22内的数据,实现所述改进A星算法的路径规划设备20的各种功能。所述存储器22可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器22可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
其中,所述改进A星算法的路径规划设备20集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器21执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
需说明的是,以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,本发明提供的装置实施例附图中,模块之间的连接关系表示它们之间具有通信连接,具体可以实现为一条或多条通信总线或信号线。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种改进A星算法的路径规划方法,其包括如下步骤:
S1,获取栅格地图,并将所述栅格地图划分为一二维数组,所述二维数组中的每个元素均对应栅格地图中的一个栅格;其中栅格地图中的栅格分为四类:第一类栅格为已探明无障碍物的栅格,第二类栅格为已探明有障碍物的栅格,第三类栅格为尚未探明的栅格;以第二类栅格为中心,第一半径R到第一安全半径R_safe之间的栅格为第四类栅格;
S2,将起始所在栅格的节点放到开放列表openlist中,其中开放列表中每个节点有5个属性:父节点、F、G、H和J;父节点为路径中通过该节点所经过的上一节点,G为起始节点到该节点的代价,H为该节点到目标节点的代价,J为该节点所属栅格类型的代表数值;
S3,从开放列表openlist中将F值最小的节点放到关闭列表closelist中,如果该节点为目标节点,则结束搜索;否则搜索该节点对应栅格的相邻节点,如果其相邻节点在openlist中,则比较它经由此点的F值与之前F值的大小,如果更大,则忽略,否则更新相邻节点的属性,将其父节点更新为此节点;如果其相邻节点不在openlist中,则计算其G值,H值,J值和F值,将相邻节点加入openlist中;
S4,重复执行步骤S2-S3直到搜索到目标节点。
2.根据权利要求1所述的方法,所述第一类栅格的代表数值为0,所述第二类栅格的代表数值为254,所述第三类栅格的代表数值为255所述第四类栅格的代表数值为254-0。
3.根据权利要求2所述的方法,在第一半径到第一安全半径之间的第四类栅格按照预设梯度下降为第一类栅格。
4.根据权利要求1所述的方法,所述步骤S3还包括:搜索该节点对应栅格的相邻节点,如果相邻节点所在的栅格为第三类或者第二类栅格,则忽略该点;如果相邻节点已在关闭列表closelist中,则忽略该点。
5.根据权利要求1所述的方法,所述步骤S1还包括:以原始栅格地图中的第二类栅格为中心,第一半径R以内的栅格都标记为第二类栅格;在第一半径R到第一安全R_safe之间的栅格按照一定梯度下降为第一类栅格,R到R_safe之间的栅格记为第四类栅格,以获取所述栅格地图。
6.一种改进A星算法的路径规划装置,其包括如下单元:
栅格地图处理单元,用于获取栅格地图,并将所述栅格地图划分为一二维数组,所述二维数组中的每个元素均对应栅格地图中的一个栅格;其中栅格地图中的栅格分为四类:第一类栅格为已探明无障碍物的栅格,第二类栅格为已探明有障碍物的栅格,第三类栅格为尚未探明的栅格;以第二类栅格为中心,第一半径R到第一安全半径R_safe之间的栅格为第四类栅格;
开放列表处理单元,用于将起始所在栅格的节点放到开放列表openlist中,其中开放列表中每个节点有5个属性:父节点、F、G、H和J;父节点为路径中通过该节点所经过的上一节点,G为起始节点到该节点的代价,H为该节点到目标节点的代价,J为该节点所属栅格类型的代表数值;
搜索单元,用于从开放列表openlist中将F值最小的节点放到关闭列表closelist中,如果该节点为目标节点,则结束搜索;否则搜索该节点对应栅格的相邻节点,如果其相邻节点在openlist中,则比较它经由此点的F值与之前F值的大小,如果更大,则忽略,否则更新相邻节点的属性,将其父节点更新为此节点;如果其相邻节点不在openlist中,则计算其G值,H值,J值和F值,将相邻节点加入openlist中;
目标节点获取单元,用于重复执行开放列表处理单元、搜索单元直到搜索到目标节点。
7.根据权利要求6所述的装置,所述第一类栅格的代表数值为0,所述第二类栅格的代表数值为254,所述第三类栅格的代表数值为255所述第四类栅格的代表数值为254-0。
8.根据权利要求7所述的装置,在第一半径到第一安全半径之间的第四类栅格按照预设梯度下降为第一类栅格。
9.根据权利要求6所述的装置,所述搜索单元还包括:搜索该节点对应栅格的相邻节点,如果相邻节点所在的栅格为第三类或者第二类栅格,则忽略该点;如果相邻节点已在关闭列表closelist中,则忽略该点。
10.一种机器人,所述机器人包括:一处理模块,一底盘,一存储模块,一定位和导航模块,所述存储模块存储有指令,在所述指令被执行时,用于实现如权利要求1-5中任一项所述的一种改进A星算法的路径规划方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310633512.0A CN116642508A (zh) | 2023-05-30 | 2023-05-30 | 一种改进a星算法的路径规划方法,装置及机器人 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310633512.0A CN116642508A (zh) | 2023-05-30 | 2023-05-30 | 一种改进a星算法的路径规划方法,装置及机器人 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116642508A true CN116642508A (zh) | 2023-08-25 |
Family
ID=87643073
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310633512.0A Pending CN116642508A (zh) | 2023-05-30 | 2023-05-30 | 一种改进a星算法的路径规划方法,装置及机器人 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116642508A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117709839A (zh) * | 2024-02-04 | 2024-03-15 | 华芯(嘉兴)智能装备有限公司 | 基于任务时限要求的天车路径规划方法及装置 |
-
2023
- 2023-05-30 CN CN202310633512.0A patent/CN116642508A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117709839A (zh) * | 2024-02-04 | 2024-03-15 | 华芯(嘉兴)智能装备有限公司 | 基于任务时限要求的天车路径规划方法及装置 |
CN117709839B (zh) * | 2024-02-04 | 2024-04-23 | 华芯(嘉兴)智能装备有限公司 | 基于任务时限要求的天车路径规划方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112595337B (zh) | 避障路径规划方法、装置、电子装置、车辆及存储介质 | |
US20200292336A1 (en) | Vehicle track planning method, device, computer device and computer-readable storage medium | |
CN116642508A (zh) | 一种改进a星算法的路径规划方法,装置及机器人 | |
EP3633551A1 (en) | Obstacle distribution simulation method, device and terminal based on a probability graph | |
CN113029167A (zh) | 一种地图数据处理方法、地图数据处理装置及机器人 | |
JP7121454B2 (ja) | 統計に基づく障害物位置シミュレーション方法、装置及び端末 | |
US20230384120A1 (en) | Method and Apparatus for Updating High-Precision Map | |
CN115326051A (zh) | 一种基于动态场景的定位方法、装置、机器人及介质 | |
CN111368860B (zh) | 重定位方法及终端设备 | |
EP4119413A1 (en) | Error compensation method and apparatus, computer device, and storage medium | |
CN106294530A (zh) | 规则匹配的方法和系统 | |
CN116109784A (zh) | 高精地图差异发现方法、系统、介质及设备 | |
CN116431127A (zh) | 一种低代码开发方法、系统、设备和可读存储介质 | |
CN112949756B (zh) | 一种模型训练以及轨迹规划的方法及装置 | |
CN114692295A (zh) | 车辆性能边界的确定方法、装置、终端设备及存储介质 | |
CN110967990B (zh) | 轨迹确定方法、装置和电子设备 | |
CN116382308B (zh) | 智能化移动机械自主寻径与避障方法、装置、设备及介质 | |
CN111402148A (zh) | 用于自动驾驶车辆的信息处理方法和装置 | |
CN115600156B (zh) | 基于最小树的语义地图融合方法、装置、设备及介质 | |
CN115080678A (zh) | 定位地图建立方法、装置及电子设备 | |
CN111854751A (zh) | 导航目标位置确定方法、装置、可读存储介质及机器人 | |
CN114863300A (zh) | 一种最短路径生成方法及装置 | |
CN117111616A (zh) | 一种机器人掉头判定方法、装置、介质及机器人 | |
CN113371382B (zh) | 机器人路径规划方法、装置、设备、仓储系统及存储介质 | |
CN117930831A (zh) | 机器人巡检方法、装置、电子设备及存储介质 |
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 |