CN112034836B - 一种改进a*算法的移动机器人路径规划方法 - Google Patents
一种改进a*算法的移动机器人路径规划方法 Download PDFInfo
- Publication number
- CN112034836B CN112034836B CN202010685966.9A CN202010685966A CN112034836B CN 112034836 B CN112034836 B CN 112034836B CN 202010685966 A CN202010685966 A CN 202010685966A CN 112034836 B CN112034836 B CN 112034836B
- Authority
- CN
- China
- Prior art keywords
- node
- neighborhood
- obstacle
- grid
- path
- 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
- 238000000034 method Methods 0.000 title claims abstract description 43
- 230000004888 barrier function Effects 0.000 claims abstract description 47
- 239000011159 matrix material Substances 0.000 claims description 34
- 238000004364 calculation method Methods 0.000 claims description 18
- 238000010586 diagram Methods 0.000 description 10
- 230000006872 improvement Effects 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000010845 search algorithm Methods 0.000 description 1
- 238000012876 topography Methods 0.000 description 1
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/0223—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory involving speed control of the vehicle
-
- 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/0214—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory in accordance with safety or protection criteria, e.g. avoiding hazardous areas
-
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02T—CLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
- Y02T10/00—Road transport of goods or passengers
- Y02T10/10—Internal combustion engine [ICE] based vehicles
- Y02T10/40—Engine management systems
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
本发明涉及一种改进A*算法的移动机器人路径规划方法,其包括步骤:采用栅格法建立移动机器人工作环境的三维地图模型;在三维地图模型中,针对栅格存在部分障碍物的情况采用改进A*算法进行邻域搜索,以提高生成路径的合理性;同时,通过引入坡度信息的改进代价函数计算从起始节点开始到其每一个邻域节点的代价值,使路径更平缓,进而在保证搜索效率的前提下得到最优路径。本发明改善了移动机器人易与障碍物边缘发生碰撞的问题,解决了算法生成路径在复杂地形中过于陡峭的问题。
Description
技术领域
本发明涉及一种机器人路径规划领域,特别是关于一种改进A*算法的移动机器人路径规划方法。
背景技术
随着社会发展,机器人的应用更为广泛,移动机器人的路径规划问题更是目前的一个研究热点。该问题可以描述为移动机器人按照某种性能指标在有障碍物的环境里从起点至终点间找到一条最短或最佳的安全无碰撞路径。常用的路径规划算法有RRT算法、蚁群算法、人工势场算法、SFLA、A*算法等。RRT算法搜索效率高,但得到的路径往往和最优路径相差甚远。蚁群算法的收敛速度相对较慢且容易陷入局部最优状态。人工势场法虽然结构简单易于实现,但仍存在目标不可达,障碍物前产生震荡,规划路径不可达等问题。相较于其他路径规划算法,A*算法构建模型简单,搜索效率高,针对静态场景所得到的解接近最优解,对不同的场景具有很强的扩展性和适应性。A*算法同样存在很多的不足之处,如生成路径拐点较多,路径不够平滑,大范围搜索情况下计算量大等问题。针对这些问题,国内外研究人员从不同角度提出不同的改进方案。Duchoň总结了Basic theta*、Phi*、Jump PointSearch这三种对A*算法的改进方法,Basic theta*和Phi*解决了A*算法不能全方向搜索的问题,最终得到的路径长度更接近最优路径,但计算效率低;Jump Point Search能够提高搜索效率,但搜索方向仍受到限制,得到的路径相较于另外两种搜索方法更长。
A*算法的改进方法有很多,但在移动机器人路径规划中仍存在以下问题没有很好的解决方案:没有充分考虑移动机器人的体积而造成的路径安全性问题;复杂地形环境下算法生成路径合理性问题。
发明内容
针对在栅格地图中移动机器人规划路径问题,传统A*算法容易忽略机器人实际大小,生成的路径存在与障碍物发生碰撞的可能性问题,本发明的目的是提供一种改进A*算法的移动机器人路径规划方法,其改善了移动机器人易与障碍物边缘发生碰撞的问题。解决了算法生成路径在复杂地形中过于陡峭的问题。
为实现上述目的,本发明采取以下技术方案:一种改进A*算法的移动机器人路径规划方法,其包括以下步骤:S1、采用栅格法建立移动机器人工作环境的三维地图模型;S2、在三维地图模型中,针对栅格存在部分障碍物的情况采用改进A*算法进行邻域搜索,以提高生成路径的合理性;同时,通过引入坡度信息的改进代价函数计算从起始节点开始到其每一个邻域节点的代价值,使路径更平缓,进而在保证搜索效率的前提下得到最优路径。
进一步,所述步骤S1中,设置栅格地图时,选取机器人投影面积和每一个栅格大小之比为2:3的比例构建取n×n的平面栅格地图作为平面环境地图模型,每一个栅格是一个节点,再将每一个栅格划分为j×j的小栅格,进而得到一个p×p的二维平面地图模型,在此基础上在matlab中生成一个p×p高度的信息矩阵,用mesh函数生成一个三维地图模型;其中,j、n均为大于1的自然数,p=j×n。
进一步,所述步骤S2中,将栅格地图中的每个节点划分为j=4阶的障碍物节点,并根据每个节点内障碍物的分布情况划分为完全障碍物节点、部分障碍物节点和无障碍节点。
进一步,选用j=4阶矩阵A来表示每一个栅格的障碍物信息并采用如下规则对节点进行分类:
a)若矩阵A中不存在非0点则认为是无障碍节点;
b)若矩阵A中主对角线或次对角线上存在两个及以上非0点则认为该节点为完全障碍物节点;
c)若矩阵A中第2、3列或第2、3行存在两个及以上非0点则认为该节点为完全障碍物节点;
d)除上述情况以外的节点认为是不完全障碍节点。
进一步,在每一次邻域搜索时,如果当前节点为对于完全障碍物节点或无障碍节点,则采用现有A*算法进行邻域搜索,对栅格存在不完全障碍物的情况采用改进A*算法进行邻域搜索。
进一步,对栅格存在不完全障碍物的情况采用改进A*算法进行邻域搜索,并根据节点中障碍物分布的情况判断目标邻域节点是否满足可通行条件,具体方法如下:
S21、建立节点拓展4阶障碍物矩阵时障碍物节点序号表Nobs,已知每个节点都存在8个邻域节点,用坐标的方式来表示,将当前点视为[0,0],设定当前点0度的方向为[1,0];
S22、每个邻域搜索方向都有不同的判断条件,判断当前节点在其邻域搜索方向上是否满足通行条件;
S23、引入坡度信息的改进代价函数计算从起始节点开始到其每一个邻域节点的代价值。
进一步,所述障碍物节点序号表Nobs为:
障碍物节点序号Nobs
进一步,所述每个节点的8个邻域节点的坐标及忽略项表示方法如下表所示:
节点自身障碍物矩阵忽略项
进一步,所述S22中,判断方法如下:
S221、在进行邻域搜索时,对应搜索目标邻域需满足除对应忽略项外其余项均为0,认定当前节点在该方向上可以进行搜索;
S222、在满足节点自身能够搜索该邻域的条件时,判断目标邻域节点是否满足可通行条件:
当目标邻域节点边缘存在障碍物时,需要判断目标邻域节点的障碍物分布情况,当目标邻域节点为右上节点时,考虑机器人在栅格地图中移动的轨迹,将满足可通行条件的障碍物情况分为两种:
a)目标邻域节点障碍物分布为左上侧时:即Nobs中1,2,5区域的任意区域存在障碍,其余区域均不存在障碍时,将轨迹中心点进行偏移以获取可通行的路径;
b)目标邻域节点障碍物分布为右下侧时:即Nobs中12,15,16区域的任意区域存在障碍,其余区域均不存在障碍时,将轨迹中心点进行偏移以获取可通行的路径。
进一步,所述S23中,具体计算方法为:
S231、确定在山地行走时速度和坡度的关系为:
1/V=0.75+14.6slope2
式中,Slope为坡度信息,Slope=H/L,H为当前节点中最高的高度信息值,L为水平宽度;
S232、对于存在坡度的路面计算其等效平面距离Seq,根据坡度和速度的关系,取其等效平面距离Seq为:
Seq=(1+Slopen 2)×ρ
Slopen表示当前节点的坡度,ρ为两个节点间的平面欧式距离;
可得从起始节点到当前节点n的实际代价G(n)为:
Gn=Gn-1+(1+Slopen 2)×Seq;
S233、在已知当前节点和目标点之间的平面欧式距离的基础上,假设从当前节点到目标节点的坡度信息均为Slopen,得到其等效平面距离Seq’:
其中,Goalx表示x方向的最后终点,Goaly表示y方向的最后终点;
在此基础上再考虑目标点的坡度信息和当前节点坡度信息的差的等效平面距离,可得从当前节点n到目标点的代价估计值H(n)的计算方式:
Hn=[(Slopen-Slopegoal)2+1]×Seq’。
本发明由于采取以上技术方案,其具有以下优点:1、本发明在设定机器人投影和每一个栅格大小比例关系的基础上,将每一个栅格拓展为j阶障碍物矩阵,针对栅格存在部分障碍物的情况对邻域搜索方式进行改进以提高生成路径的合理性。同时针对在复杂地形(如山地)条件下生成路径较陡峭的问题,通过引入坡度信息改进代价函数计算方式,使路径更平缓。本发明能够通过拓展节点障碍物邻域的方法有效避免与障碍物发生碰撞,在复杂地形条件下生成的路径也更为合理。2、本发明通过在存在障碍物的栅格中拓展障碍物矩阵的方法改善移动机器人易与障碍物边缘发生碰撞的问题。3、本发明引入坡度信息改进代价函数计算方式,考虑到地形坡度对移动机器人通过性的影响,解决算法生成路径在复杂地形中过于陡峭的问题。
附图说明
图1是本发明实施例中的环境三维地图模型示意图。
图2是目标邻域节点为无障碍节点时不同起始点的轨迹示意图;其中,图a表示默认情况即认定没有障碍的情况下当前节点的起始点,图b是向左偏移了一格的初始点,图c是向下偏移了一格的初始点,图d是向右偏移了一格的初始点,图e是向上偏移了一格的初始点,即图b至图e是上一节点向当前节点拓展时遇到不完全障碍节点时,可能会产生的四种偏移方向。
图3是目标邻域节点障碍分布为“左上侧”示意图;其中,图a是默认情况即认定没有障碍的情况下当前节点的起始点,图b是向下偏移了一格的初始点,图c是向左偏移了一格的初始点,图d是向上偏移了一格的初始点,图e是向右偏移了一格的初始点。
图4是目标邻域节点障碍分布为“右下侧”示意图;其中,图a表示默认情况即认定没有障碍的情况下当前节点的起始点,图b是向左偏移了一格的初始点,图c是向上偏移了一格的初始点,图d是向下偏移了一格的初始点,图e是向右偏移了一格的初始点。
图5是实施例中改进算法生成路径示意图。
图6是实施例中拓展障碍物矩阵方法生成路径示意图。
图7a是实施例中在水平方向拓展时遇到障碍物时算法生成的路径示意图。
图7b是实施例中方向为斜向时遇到障碍物时算法生成的路径示意图。
图8是实施例中存在不完全障碍物节点情况路径示意图。
具体实施方式
下面结合附图和实施例对本发明进行详细的描述。
本发明提供一种改进A*算法的移动机器人路径规划方法,其包括以下步骤:
S1、采用栅格法建立移动机器人工作环境的三维地图模型。
复杂环境下,移动机器人的路径规划问题更侧重于如何得到一条可以安全通过的路径,考虑到机器人自身的体积问题,建立环境的栅格地图时选取比移动机器人自身体积稍大的栅格地图。同一环境下,构建相对更大的栅格地图会减少算法中搜索邻域节点的计算量,提高运行效率。但栅格过大会影响搜索效果,到达目标点的误差也会更大。因此,在本实施例中,设置栅格地图时,选取机器人投影面积和每一个栅格大小之比为2:3的比例构建取n×n的平面栅格地图作为平面环境地图模型,认为每一个栅格是一个节点,再将每一个栅格划分为j×j的小栅格,进而得到一个p×p的二维平面地图模型,在此基础上在matlab中生成一个p×p高度的信息矩阵,用mesh函数生成一个三维地图模型。其中,j、n均为大于1的自然数,p=j×n。
例如,选取25×25的平面栅格地图作为平面环境地图模型,认为每一个栅格是一个节点,再将每一个栅格划分为4×4的小栅格,由此方法划分完成,得到一个100×100的二维平面地图模型,在此基础上在matlab中生成一个100×100的高度信息矩阵,用mesh函数生成一个三维地图模型,如图1所示。
S2、在三维地图模型中,针对栅格存在部分障碍物的情况采用改进A*算法进行邻域搜索,以提高生成路径的合理性;同时,通过引入坡度信息的改进代价函数计算从起始节点开始到其每一个邻域节点的代价值,使路径更平缓,进而在保证搜索效率的前提下得到最优路径。
在本步骤中,将移动机器人在前进过程中与周边障碍发生碰撞的问题进行简化,将机器人自身体积在平面坐标系的投影视作一个正方形,因此,仅需要考虑正方形的四个角与周边环境是否发生碰撞来进行判断。为解决传统路径规划算法产生的路径会导致移动机器人和障碍物发生碰撞的问题,本发明将栅格地图中的每个节点划分为j阶的障碍物节点,并根据每个节点内障碍物的分布情况划分为完全障碍物节点、不完全障碍物节点(即部分障碍物节点)和无障碍节点:
由于选取机器人投影面积和每一个栅格比例为2:3,为了便于计算移动机器人是否与障碍物边缘存在碰撞可能性,选用j=4阶矩阵A来表示每一个栅格的障碍物信息并采用如下规则对节点进行分类:
a)若矩阵A中不存在非0点则认为是无障碍节点。
b)若矩阵A中主对角线或次对角线上存在两个及以上非0点则认为该节点为完全障碍物节点。
c)若矩阵A中第2、3列或第2、3行存在两个及以上非0点则认为该节点为完全障碍物节点。
d)除上述情况以外的节点认为是不完全障碍节点。
在每一次邻域搜索时,如果当前节点为对于完全障碍物节点或无障碍节点,则采用现有A*算法进行邻域搜索,对栅格存在不完全障碍物的情况采用改进A*算法进行邻域搜索。
其中,A*算法是一种启发式搜索算法,是通过一个代价函数计算从起始节点开始到其每一个邻域节点的代价值来确搜索方向。用G(n)表示从起始节点到当前节点n的实际代价,H(n)表示从当前节点n到目标点的代价估计值,可得代价函数的计算方式为:
f(n)=g(n)+h(n)。 (1)
A*算法的计算步骤为:
a)初始化一个OPEN表和一个CLOSE表用于存储节点信息;
b)将起点放入OPEN表中,设其f(n)值为0;
c)判断OPEN表中存在节点则选取f(n)值最小节点N;
d)若节点N是终点,从终点开始追溯每一个节点的父节点直到起点,取出所有父节点即为路径
e)若节点N不是终点,将节点N从OPEN表中取出加入CLOSE表,遍历N的邻域节点,若邻域节点M不在CLOSE表中且不在OPEN表中,计算M的f(n)值,并将节点M加入OPEN表。
在每一次邻域搜索时,对栅格存在不完全障碍物的情况采用改进A*算法进行邻域搜索,并根据节点中障碍物分布的情况判断目标邻域节点是否满足可通行条件,具体方法如下:
S21、建立节点拓展4阶障碍物矩阵时障碍物节点序号表Nobs(如表1所示),已知每个节点都存在8个邻域节点,用坐标的方式来表示,将当前点视为[0,0],设定当前点0度的方向为[1,0],则其8个邻域节点的坐标及忽略项表示方法如表2所示;
表1障碍节点序号Nobs
1 | 2 | 3 | 4 |
5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 |
表2节点自身障碍物矩阵忽略项
S22、每个邻域搜索方向都有不同的判断条件,判断当前节点在其邻域搜索方向上是否满足通行条件;判断方法如下:
S221、在进行邻域搜索时,对应搜索目标邻域需满足除表2中对应忽略项外其余项均为0,可认定当前节点在该方向上可以进行搜索。
S222、在满足节点自身能够搜索该邻域的条件时,判断目标邻域节点是否满足可通行条件。
以目标邻域节点为右上节点时为例,N0为当前节点的轨迹起始点,Ni为搜索过程中出现的下一目标点;在目标邻域节点不存在障碍物的情况下存在如图2所示5种情况即图2中的图a至图e(5种情况为:如果将第一种作为默认情况即认定没有障碍的情况下当前节点的起始点,其余四种分别为向上、向下、向左和向右偏移了一格的初始点,即上一节点向当前节点拓展时遇到不完全障碍时,可能会产生的四种偏移方向),此时除考虑N0和当前Ni的障碍物分布,同时也需要考虑其相邻邻域的障碍物分布情况是否满足可通行条件,即如图2中三条实线构成的区域其障碍物矩阵项的值均为0。
当目标邻域节点边缘存在障碍物时,需要判断目标邻域节点的障碍物分布情况,由图2中图a至图e可知,当目标邻域节点为右上节点时,考虑机器人在栅格地图中移动的轨迹,将满足可通行条件的障碍物情况分为两种:
a)目标邻域节点障碍物分布为左上侧时:即Nobs中1,2,5区域的任意区域存在障碍,其余区域均不存在障碍时,可将轨迹中心点进行偏移以获取可通行的路径。
b)如图4所示,目标邻域节点障碍物分布为右下侧时:即Nobs中12,15,16区域的任意区域存在障碍,其余区域均不存在障碍时,可将轨迹中心点进行偏移以获取可通行的路径,如图4中的图a至图e所示。
如图3所示,为节点左上侧存在障碍区域,Ni的障碍物矩阵中1,2,5为不可通行区域,而其余区域满足可通行的条件,进而再判断相邻邻域节点是否具有可通行的条件,即N0右侧和上方的节点的障碍物矩阵中被虚线划过的区域均不存在障碍物,称其满足“借道条件”,则将目标邻域节点的“中心点”偏移,避开边角存在的障碍物(如图3中的图a至图e所示),从而取得一条从起始点到终点代价较低的安全路径。
S23、引入坡度信息的改进代价函数计算从起始节点开始到其每一个邻域节点的代价值;具体计算方法为:
S231、确定在山地行走时速度和坡度的关系为:
1/V=0.75+14.6slope2 (2)
式中,Slope为坡度信息,其计算公式为:
Slope=H/L (3)
式中,H为当前节点中最高的高度信息值,L为水平宽度。
S232、对代价函数中G(n)和H(n)的计算方式进行改进,仍选取欧式距离的计算方法:
式中,nx表示x方向的当前节点,nx-1表示x方向的上一个节点,ny表示y方向的当前节点,ny-1表示y方向的上一个节点,ρ为两个节点间的平面欧式距离,对于存在坡度的路面计算其等效平面距离Seq,根据式(2)中坡度和速度的关系,取其等效平面距离Seq为:
Seq=(1+Slopen 2)×ρ (5)
Slopen表示当前节点的坡度;
可得G(n)的计算公式为:
Gn=Gn-1+(1+Slopen 2)×Seq (6)
S233、相应的H(n)需要考虑和终点间的估计代价值,仍选取欧式距离作为代价函数的计算方式,在已知当前节点和目标点之间的平面欧式距离的基础上,假设从当前节点到目标节点的坡度信息均为Slopen,根据公式(5)得到其等效平面距离Seq’:
其中,Goalx表示x方向的最后终点,Goaly表示y方向的最后终点;
在此基础上再考虑目标点的坡度信息和当前节点坡度信息的差的等效平面距离,可得H(n)的计算方式:
Hn=[(Slopen-Slopegoal)2+1]×Seq’。 (8)
实施例:
在无障碍情况下,在不考虑高度信息的情况下由传统A*算法得到的最短路径如图5虚线所示,这条路径虽然是理论上存在的最短路径,但没有考虑复杂地形对于移动机器人行动的影响,在此种地形环境中,路径规划问题应更多考虑到实际地形因素。如图5实线所示为改进了代价函数计算方式的A*算法相较于前者,对地形条件的考虑更为充分,虽然路径更为长,但生成的路径更为平缓,通过性更好。
在改进代价函数的基础上,进一步验证规划在考虑移动机器人本身体积的情况下在该路径下是否和障碍物发生碰撞的问题,在目标邻域节点为水平方向和对角线方向时进行讨论,图6为存在障碍物情况下的路径规划情况,虚线表示改进代价函数的A*算法的避开障碍物的路径,实线为拓展障碍物矩阵方法改进后生成的路径,由结果分析,如果不考虑移动机器人和障碍物体积而得到的规划路径是一条危险路径,且在斜方向为目标邻域节点的情况下,移动机器人会与障碍物发生碰撞,现实情况中移动机器人的路径规划问题通常会采用局部路径规划和全局路径规划相结合的方式进行实时避障,在遇到存在无法通过的障碍物的情况时会进行局部的二次规划,为减少重复规划的次数,在进行全局的路径规划时应得到一条当前静态环境下更为安全的路径。
如图7a、图7b所示,采用为节点拓展障碍物矩阵的方法之后生成的路径和障碍物之间留有足够的安全距离按照设定移动机器人本体大小和栅格地图比例为2:3,路径为移动机器人中心点的轨迹,图中路径与障碍物的最短距离为1个网格长度,而机器人大小所占据面积的1/2长度小于1个网格距离,得改进后的算法能够解决在目标邻域节点为对角线方向时,生成的路径会与障碍物的边界发生碰撞的问题。
为进一步验证本发明在遇到栅格边缘存在障碍物的情况,在原有路径上添加不完全障碍物节点,如图8所示:实线部分为原路径即不存在该不完全障碍物节点时所生成的路径,虚线为添加不完全障碍物节点的情况下生成的路径,相较于不存在该障碍物的情况下向下偏移一个网格的距离,使得生成路径的安全性更高。
综上,本发明通过拓展栅格地图节点的障碍物矩阵的方法解决了因忽略移动机器人自身体积和栅格地图划分栅格大小造成的生成路径安全性问题,且生成的路径更为合理。同时针对在复杂地形条件下,采用了新的代价函数计算方法,引入坡度信息,将陡坡上移动的距离简化为平面等效距离计算每一个节点总的代价值,使得生成路径更趋于平缓。本发明能够在复杂地形条件下得到一条平缓的路径且通过拓展节点障碍物矩阵的方法能够有效减少移动机器人与障碍物发生碰撞的概率。
上述各实施例仅用于说明本发明,各个步骤都是可以有所变化的,在本发明技术方案的基础上,凡根据本发明原理对个别步骤进行的改进和等同变换,均不应排除在本发明的保护范围之外。
Claims (6)
1.一种改进A*算法的移动机器人路径规划方法,其特征在于包括以下步骤:
S1、采用栅格法建立移动机器人工作环境的三维地图模型;
S2、在三维地图模型中,针对栅格存在部分障碍物的情况采用改进A*算法进行邻域搜索,以提高生成路径的合理性;同时,通过引入坡度信息的改进代价函数计算从起始节点开始到其每一个邻域节点的代价值,使路径更平缓,进而在保证搜索效率的前提下得到最优路径;
在每一次邻域搜索时,对栅格存在部分障碍物的情况采用改进A*算法进行邻域搜索,并根据节点中障碍物分布的情况判断目标邻域节点是否满足可通行条件,具体方法如下:
S21、建立节点拓展4阶障碍物矩阵时障碍物节点序号表Nobs如表1所示,已知每个节点都存在8个邻域节点,用坐标的方式来表示,将当前点视为[0,0],设定当前点0度的方向为[1,0],则其8个邻域节点的坐标及忽略项表示方法如表2所示;
表1 障碍节点序号Nobs
表2 节点自身障碍物矩阵忽略项
S22、每个邻域搜索方向都有不同的判断条件,判断当前节点在其邻域搜索方向上是否满足通行条件;
S23、引入坡度信息的改进代价函数计算从起始节点开始到其每一个邻域节点的代价值;具体计算方法为:
S231、确定在山地行走时速度和坡度的关系为:
1/V=0.75+14.6slope2
式中,Slope为坡度信息,Slope=H/L,H为当前节点中最高的高度信息值,L为水平宽度;
S232、对于存在坡度的路面计算其等效平面距离Seq,根据坡度和速度的关系,取其等效平面距离Seq为:
Seq=(1+Slopen 2)×ρ
Slopen表示当前节点的坡度,ρ为两个节点间的平面欧式距离;
可得从起始节点到当前节点n的实际代价Gn为:
Gn=Gn-1+(1+Slopen 2)×Seq;
S233、在已知当前节点和目标点之间的平面欧式距离的基础上,假设从当前节点到目标节点的坡度信息均为Slopen,得到其等效平面距离Seq’:
其中,Goalx表示x方向的最后终点,Goaly表示y方向的最后终点,nx表示x方向的当前节点,ny表示y方向的当前节点;
在此基础上再考虑目标点的坡度信息和当前节点坡度信息的差的等效平面距离,可得从当前节点n到目标点的代价估计值Hn的计算方式:
Hn=[(Slopen-Slopegoal)2+1]×Seq’。
2.如权利要求1所述移动机器人路径规划方法,其特征在于:所述步骤S1中,设置栅格地图时,选取机器人投影面积和每一个栅格大小之比为2∶3的比例构建取n×n的平面栅格地图作为平面环境地图模型,每一个栅格是一个节点,再将每一个栅格划分为j×j的小栅格,进而得到一个p×p的二维平面地图模型,在此基础上在matlab中生成一个p×p高度的信息矩阵,用mesh函数生成一个三维地图模型;其中,j、n均为大于1的自然数,p=j×n。
3.如权利要求1所述移动机器人路径规划方法,其特征在于:所述步骤S2中,将栅格地图中的每个节点划分为j=4阶的障碍物节点,并根据每个节点内障碍物的分布情况划分为完全障碍物节点、部分障碍物节点和无障碍节点。
5.如权利要求4所述移动机器人路径规划方法,其特征在于,在每一次邻域搜索时,如果当前节点为完全障碍物节点或无障碍节点,则采用现有A*算法进行邻域搜索,对栅格存在部分障碍物的情况采用改进A*算法进行邻域搜索。
6.如权利要求1所述移动机器人路径规划方法,其特征在于,所述S22中,判断方法如下:
S221、在进行邻域搜索时,对应搜索目标邻域需满足除对应忽略项外其余项均为0,认定当前节点在该方向上可以进行搜索;
S222、在满足节点自身能够搜索该邻域的条件时,判断目标邻域节点是否满足可通行条件:
当目标邻域节点边缘存在障碍物时,需要判断目标邻域节点的障碍物分布情况,当目标邻域节点为右上节点时,考虑机器人在栅格地图中移动的轨迹,将满足可通行条件的障碍物情况分为两种:
a)目标邻域节点障碍物分布为左上侧时:即Nobs中1,2,5区域的任意区域存在障碍,其余区域均不存在障碍时,将轨迹中心点进行偏移以获取可通行的路径;
b)目标邻域节点障碍物分布为右下侧时:即Nobs中12,15,16区域的任意区域存在障碍,其余区域均不存在障碍时,将轨迹中心点进行偏移以获取可通行的路径。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010685966.9A CN112034836B (zh) | 2020-07-16 | 2020-07-16 | 一种改进a*算法的移动机器人路径规划方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010685966.9A CN112034836B (zh) | 2020-07-16 | 2020-07-16 | 一种改进a*算法的移动机器人路径规划方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112034836A CN112034836A (zh) | 2020-12-04 |
CN112034836B true CN112034836B (zh) | 2023-06-16 |
Family
ID=73579254
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010685966.9A Active CN112034836B (zh) | 2020-07-16 | 2020-07-16 | 一种改进a*算法的移动机器人路径规划方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112034836B (zh) |
Families Citing this family (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112741688B (zh) * | 2020-12-11 | 2023-09-29 | 北京信息科技大学 | 一种用于微创手术软体操作器的路径规划方法 |
CN112683275B (zh) * | 2020-12-24 | 2023-11-21 | 长三角哈特机器人产业技术研究院 | 一种栅格地图的路径规划方法 |
CN112833905B (zh) * | 2021-01-08 | 2022-09-27 | 北京大学 | 基于改进a*算法的分布式多agv无碰撞路径规划方法 |
CN112882468A (zh) * | 2021-01-13 | 2021-06-01 | 安徽理工大学 | 一种改进a*算法的药房机器人路径规划方法 |
CN112904853B (zh) * | 2021-01-19 | 2022-02-01 | 安徽工程大学 | 一种基于代价矩阵的堆垛机路径规划方法 |
CN112917476B (zh) * | 2021-01-26 | 2022-03-11 | 安徽工程大学 | 一种三维地形下轮式机器人作业路径平滑的改进lazy theta方法 |
CN113156968B (zh) * | 2021-05-06 | 2023-03-21 | 郑州铁路职业技术学院 | 一种移动机器人的路径规划方法及系统 |
CN113171041B (zh) * | 2021-05-18 | 2022-08-23 | 上海高仙自动化科技发展有限公司 | 一种目标路径生成方法、装置、设备及存储介质 |
CN113419539B (zh) * | 2021-07-14 | 2022-07-01 | 燕山大学 | 具有复杂地形可通过性判断的移动机器人路径规划方法 |
CN113359776A (zh) * | 2021-07-15 | 2021-09-07 | 贵州电网有限责任公司 | 一种优化转弯角度的移动机器人路径规划方法 |
CN113551682B (zh) * | 2021-07-19 | 2022-07-08 | 大连理工大学 | 一种考虑地形与地势影响的两栖无人战车的路径规划方法 |
CN113781495B (zh) * | 2021-07-21 | 2023-03-24 | 天津大学 | 面向并联骨折手术机器人的复位轨迹自动式规划方法 |
CN113791610B (zh) * | 2021-07-30 | 2024-04-26 | 河南科技大学 | 一种移动机器人全局路径规划方法 |
CN113485379A (zh) * | 2021-08-18 | 2021-10-08 | 山东建筑大学 | 一种改进A-Star算法的移动机器人路径规划方法 |
CN113643170B (zh) * | 2021-10-14 | 2022-01-18 | 枫树谷(成都)科技有限责任公司 | 一种大数据驱动的公共场所聚集人群疏散方法及装置 |
CN114415652B (zh) * | 2021-11-09 | 2024-03-26 | 南京南自信息技术有限公司 | 一种轮式机器人路径规划方法 |
CN114578828A (zh) * | 2022-03-23 | 2022-06-03 | 重庆邮电大学 | 一种基于空间约束a星算法的移动机器人路径规划方法 |
CN114740869A (zh) * | 2022-05-17 | 2022-07-12 | 山东优宝特智能机器人有限公司 | 多传感器融合估计与迭代预搜索的机器人避障方法及系统 |
CN115164907B (zh) * | 2022-09-06 | 2022-12-02 | 南京理工大学 | 基于动态权重的a*算法的森林作业机器人路径规划方法 |
CN115755908B (zh) * | 2022-11-17 | 2023-10-27 | 中国矿业大学 | 一种基于JPS引导Hybrid A*的移动机器人路径规划方法 |
CN115951681B (zh) * | 2023-01-10 | 2024-03-15 | 三峡大学 | 基于栅格化三维空间路径规划的路径搜索域构建方法 |
CN117601136B (zh) * | 2024-01-24 | 2024-04-02 | 济宁鲁鑫工程机械有限公司 | 一种自动焊接机器人路径规划方法及系统 |
CN117664142B (zh) * | 2024-02-01 | 2024-05-17 | 山东欧龙电子科技有限公司 | 基于三维立体地图的飞行汽车路径规划方法 |
CN118464053B (zh) * | 2024-07-09 | 2024-09-03 | 北京理工大学 | 一种考虑稳定性的自动驾驶路径规划方法、设备及产品 |
CN118640925B (zh) * | 2024-08-16 | 2024-10-15 | 贵州大学 | 一种越野环境下的自动驾驶车辆路径规划方法及装置 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20100027683A (ko) * | 2008-09-03 | 2010-03-11 | 한국과학기술원 | 로봇의 경로계획 장치 및 방법 |
CN101799368A (zh) * | 2010-01-27 | 2010-08-11 | 北京信息科技大学 | 一种机电设备非线性故障预测方法 |
JP2013206237A (ja) * | 2012-03-29 | 2013-10-07 | Denso It Laboratory Inc | 自律走行ロボット及び自律走行ロボットの走行制御方法 |
CN106441303A (zh) * | 2016-09-30 | 2017-02-22 | 哈尔滨工程大学 | 一种基于可搜索连续邻域a*算法的路径规划方法 |
CN106774329A (zh) * | 2016-12-29 | 2017-05-31 | 大连理工大学 | 一种基于椭圆切线构造的机器人路径规划方法 |
CN107063711A (zh) * | 2017-04-21 | 2017-08-18 | 百度在线网络技术(北京)有限公司 | 用于测试无人车的方法和装置 |
CN109724606A (zh) * | 2019-01-23 | 2019-05-07 | 北京信息科技大学 | 基于改进的a*算法的矿井突水避灾路径规划方法和装置 |
CN110039540A (zh) * | 2019-05-27 | 2019-07-23 | 聊城大学 | 一种多目标同时优化的服务机器人路径规划方法 |
EP3571974A2 (en) * | 2013-11-20 | 2019-11-27 | Samsung Electronics Co., Ltd. | Cleaning robot and method for controlling the same |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013002927A (ja) * | 2011-06-15 | 2013-01-07 | Honda Elesys Co Ltd | 障害物検知装置及びコンピュータプログラム |
-
2020
- 2020-07-16 CN CN202010685966.9A patent/CN112034836B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20100027683A (ko) * | 2008-09-03 | 2010-03-11 | 한국과학기술원 | 로봇의 경로계획 장치 및 방법 |
CN101799368A (zh) * | 2010-01-27 | 2010-08-11 | 北京信息科技大学 | 一种机电设备非线性故障预测方法 |
JP2013206237A (ja) * | 2012-03-29 | 2013-10-07 | Denso It Laboratory Inc | 自律走行ロボット及び自律走行ロボットの走行制御方法 |
EP3571974A2 (en) * | 2013-11-20 | 2019-11-27 | Samsung Electronics Co., Ltd. | Cleaning robot and method for controlling the same |
CN106441303A (zh) * | 2016-09-30 | 2017-02-22 | 哈尔滨工程大学 | 一种基于可搜索连续邻域a*算法的路径规划方法 |
CN106774329A (zh) * | 2016-12-29 | 2017-05-31 | 大连理工大学 | 一种基于椭圆切线构造的机器人路径规划方法 |
CN107063711A (zh) * | 2017-04-21 | 2017-08-18 | 百度在线网络技术(北京)有限公司 | 用于测试无人车的方法和装置 |
CN109724606A (zh) * | 2019-01-23 | 2019-05-07 | 北京信息科技大学 | 基于改进的a*算法的矿井突水避灾路径规划方法和装置 |
CN110039540A (zh) * | 2019-05-27 | 2019-07-23 | 聊城大学 | 一种多目标同时优化的服务机器人路径规划方法 |
Non-Patent Citations (3)
Title |
---|
Automatic Path Planning And Navigation With Stereo Cameras;Sheniu Jiang 等;《2014 Third International Workshop on Earth Observation and Remote Sensing Applications》;1-5 * |
一种基于改进 A* 算法的限制搜索区域的路径规划方法;徐占鹏 等;《人工智能及识别技术》;523-524 * |
基于一种改进A*算法的移动机器人路径规划;孙炜 等;《湖南大学学报(自然科学版)》;第44卷(第4期);94-101 * |
Also Published As
Publication number | Publication date |
---|---|
CN112034836A (zh) | 2020-12-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112034836B (zh) | 一种改进a*算法的移动机器人路径规划方法 | |
CN107990903B (zh) | 一种基于改进a*算法的室内agv路径规划方法 | |
CN111811514B (zh) | 一种基于正六边形栅格跳点搜索算法的路径规划方法 | |
CN110244733B (zh) | 一种基于改进蚁群算法的移动机器人路径规划方法 | |
CN111141304B (zh) | 一种基于同心圆采样引导rrt算法的路径规划方法 | |
CN109116841B (zh) | 一种基于蚁群算法的路径规划平滑优化方法 | |
CN110231824B (zh) | 基于直线偏离度方法的智能体路径规划方法 | |
CN111323016A (zh) | 一种基于自适应蚁群算法的移动机器人路径规划方法 | |
CN113515129B (zh) | 一种基于边界查找的双向跳点搜索无人车路径规划方法 | |
CN101769754A (zh) | 一种基于类三维地图的移动机器人全局路径规划方法 | |
CN101777093B (zh) | 一种大规模虚拟人群寻径方法 | |
CN114089765A (zh) | 一种面向城市绿地的割草机器人遍历路径规划方法 | |
CN113189988B (zh) | 一种基于Harris算法与RRT算法复合的自主路径规划方法 | |
WO2022142893A1 (zh) | 双足机器人路径规划方法、装置和双足机器人 | |
CN112666957A (zh) | 一种基于改进蚁群算法的水下机器人路径规划方法 | |
CN110954124A (zh) | 一种基于a*-pso算法的自适应路径规划方法及系统 | |
CN111857133A (zh) | 一种用于扫地机器人寻找未清扫区域的宽度优先搜索算法 | |
CN113325834A (zh) | 一种基于图形预处理的改进a*算法的路径规划方法 | |
CN116892943A (zh) | 一种基于改进的jps算法的极地船舶路径规划方法及系统 | |
CN117075607A (zh) | 一种适用于复杂环境的改进jps的无人车路径规划方法 | |
CN114995391B (zh) | 一种改进a*算法的4阶b样条曲线路径规划方法 | |
CN116753970A (zh) | 路径规划方法、装置、电子设备及存储介质 | |
CN112631300B (zh) | 一种光伏阵列智能清洗机器人的路径规划方法 | |
CN114353814B (zh) | 基于Angle-Propagation Theta*算法改进的JPS路径优化方法 | |
CN116255985A (zh) | 一种三维环境的搜救rov路径规划系统及方法 |
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 | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20231220 Address after: Room 201, 2nd Floor, Building 4, No. 51 Longgang Road, Haidian District, Beijing, 100192 Patentee after: Beijing Daxun Technology Co.,Ltd. Address before: 100192 Beijing city Haidian District Qinghe small Camp Road No. 12 Patentee before: BEIJING INFORMATION SCIENCE AND TECHNOLOGY University |