一种改进A*算法的移动机器人路径规划方法技术

技术编号:26595998 阅读:67 留言:0更新日期:2020-12-04 21:17
本发明专利技术涉及一种改进A*算法的移动机器人路径规划方法,其包括步骤:采用栅格法建立移动机器人工作环境的三维地图模型;在三维地图模型中,针对栅格存在部分障碍物的情况采用改进A*算法进行邻域搜索,以提高生成路径的合理性;同时,通过引入坡度信息的改进代价函数计算从起始节点开始到其每一个邻域节点的代价值,使路径更平缓,进而在保证搜索效率的前提下得到最优路径。本发明专利技术改善了移动机器人易与障碍物边缘发生碰撞的问题,解决了算法生成路径在复杂地形中过于陡峭的问题。

【技术实现步骤摘要】
一种改进A*算法的移动机器人路径规划方法
本专利技术涉及一种机器人路径规划领域,特别是关于一种改进A*算法的移动机器人路径规划方法。
技术介绍
随着社会发展,机器人的应用更为广泛,移动机器人的路径规划问题更是目前的一个研究热点。该问题可以描述为移动机器人按照某种性能指标在有障碍物的环境里从起点至终点间找到一条最短或最佳的安全无碰撞路径。常用的路径规划算法有RRT算法、蚁群算法、人工势场算法、SFLA、A*算法等。RRT算法搜索效率高,但得到的路径往往和最优路径相差甚远。蚁群算法的收敛速度相对较慢且容易陷入局部最优状态。人工势场法虽然结构简单易于实现,但仍存在目标不可达,障碍物前产生震荡,规划路径不可达等问题。相较于其他路径规划算法,A*算法构建模型简单,搜索效率高,针对静态场景所得到的解接近最优解,对不同的场景具有很强的扩展性和适应性。A*算法同样存在很多的不足之处,如生成路径拐点较多,路径不够平滑,大范围搜索情况下计算量大等问题。针对这些问题,国内外研究人员从不同角度提出不同的改进方案。Duchoň总结了Basictheta*、Phi*、JumpPointSearch这三种对A*算法的改进方法,Basictheta*和Phi*解决了A*算法不能全方向搜索的问题,最终得到的路径长度更接近最优路径,但计算效率低;JumpPointSearch能够提高搜索效率,但搜索方向仍受到限制,得到的路径相较于另外两种搜索方法更长。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+Slopen2)×ρSlopen表示当前节点的坡度,ρ为两个节点间的平面欧式距离;可得从起始节点到当前节点n的实际代价G(n)为:Gn=Gn-1+(1+Slopen2)×Seq;S233、在已知当前节点和目标点之间的平面欧式距离的基础上,假设从当前节点到目标节点的坡度信息均为Slopen,得到其等效平面距离Seq’:其中,Goalx表示x方向的最后终点,Goaly表示y方向的最后终点;在此基础上再考虑目标点的坡度信息和当前节点坡度信息的差的等效平面距离,可得从当前节点n到目标点的代价估计值H(n)的计算方式:Hn=[(Slopen-Slopegoal)2+1]×Seq’。本专利技术由于采取以上技术方案,其具有以下优点:1、本专利技术在设定机器人投影和每一个栅格大小比例关系的基础上,将每一个栅格拓展为j阶障碍物矩阵,针对栅格存在部分障碍物的情况对邻域搜索方式进行改进以提高生成路径的合理性。同时针本文档来自技高网
...

【技术保护点】
1.一种改进A*算法的移动机器人路径规划方法,其特征在于包括以下步骤:/nS1、采用栅格法建立移动机器人工作环境的三维地图模型;/nS2、在三维地图模型中,针对栅格存在部分障碍物的情况采用改进A*算法进行邻域搜索,以提高生成路径的合理性;同时,通过引入坡度信息的改进代价函数计算从起始节点开始到其每一个邻域节点的代价值,使路径更平缓,进而在保证搜索效率的前提下得到最优路径。/n

【技术特征摘要】
1.一种改进A*算法的移动机器人路径规划方法,其特征在于包括以下步骤:
S1、采用栅格法建立移动机器人工作环境的三维地图模型;
S2、在三维地图模型中,针对栅格存在部分障碍物的情况采用改进A*算法进行邻域搜索,以提高生成路径的合理性;同时,通过引入坡度信息的改进代价函数计算从起始节点开始到其每一个邻域节点的代价值,使路径更平缓,进而在保证搜索效率的前提下得到最优路径。


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阶的障碍物节点,并根据每个节点内障碍物的分布情况划分为完全障碍物节点、部分障碍物节点和无障碍节点。


4.如权利要求3所述移动机器人路径规划方法,其特征在于,选用j=4阶矩阵A来表示每一个栅格的障碍物信息并采用如下规则对节点进行分类:



a)若矩阵A中不存在非0点则认为是无障碍节点;
b)若矩阵A中主对角线或次对角线上存在两个及以上非0点则认为该节点为完全障碍物节点;
c)若矩阵A中第2、3列或第2、3行存在两个及以上非0点则认为该节点为完全障碍物节点;
d)除上述情况以外的节点认为是不完全障碍节点。


5.如权利要求4所述移动机器人路径规划方法,其特征在于,在每一次邻域搜索时,如果当前节点为对于完全障碍物节点或无障碍节点,则采用现有A*算法进行邻域搜索,对栅格存在不完全障碍物的情况采用改进A*算法进行邻域搜索。


6.如权利要求5所述移动机器人路径规划方法,其特征在于,对栅格存在不完全障碍物的情况采用改进A*算法进行邻域搜索,并根据节点中障碍物分布的情况判断目标邻域节点是否满足可通行条件,具体方法如下:
S21、建立节点拓展4阶障碍物矩阵时障碍物节点序号表Nobs,已知每个节点都存在8个邻域节点,用坐标的方式来表示,将当前点视为[0,0],设定当前点0度的方向为[1,0];
S22、每个邻域搜索方向都有不同的判断条件,判断当前节点在其邻域搜索方向上是否满足通行条件;
S23、引入坡度信息的改进代价函数计算从起始节点开始到其每一个邻域节点的代价值。


7.如权利要求6所述移动机器人路径规划方法,其特征在于,所述障碍物节点序号表Nobs为:
障碍物节点序号N...

【专利技术属性】
技术研发人员:谷玉海周超龚志力徐小力
申请(专利权)人:北京信息科技大学
类型:发明
国别省市:北京;11

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

1