基于建立栅格地图模型的A*算法路径规划仿真


 

1、A*算法简介

  A*算法是一种启发式搜索算法,具有搜索效率高、规划速度快和克服了搜索过程中形成的早熟现象等特点,广泛应用于最优路径的求解。A*算法搜索原理主要是从起始栅格点开始搜索与起始点周围的子栅格点,每次从周围的子栅格点中选择一个评价函数最低的点作下一个的搜索节点,即称为当前节点。再次生成与当前节点相邻的子栅格点,并重新搜索评价函数最低的点作新的当前节点,依次搜索,直到当前节点为目的地的位置。

 

  

2、地图环境构建

  构建地图环境是路径规划的前提,为路径规划提供搜索环境。二维图形化构建地图是将移动机器人所处的实际环境进行抽象化表示成二维地形,简化移动机器人的运行空间。本节介绍了地图建模的几种算法,分析了各自的优缺点;选择采用栅格法进行了地图环境建模。

2.1 构建地图方法

常见的图形算法主要有以下几种:栅格法,拓扑法,自由空间法和可视法。栅格法根据特定分辨率将外部环境离散为相同大小的网格。每个栅格由状态表示,即占用状态和空闲状态,指示栅格位置是否是障碍物。路径规划算法占用一个栅格,并通过搜索自由栅格并避开障碍物来规划由多个栅格组成的路径。拓扑方法将机器人的工作环境图规划成几个小空间,并通过小空间之间的连接线建立拓扑网络结构,路径规划算法搜索拓扑网络以规划由拓扑连接线组成的路径。自由空间法将实际环境规划成两个区域,即可移动区域和不可移动障碍区域。组合连接可移动区域中每个线段的中点形成地图模型,移动机器人在其中进行路径规划。视觉方法将初始位置,障碍的各个转折点和目的地两两相连,组成多线段路径结构。通过路径规划算法,可以在这些线段上规划从起始位置到目的地的完整路径。每种算法的优缺点如表2.1所示。

 

 

 

 

 

2.3.2 栅格法构建地图模型

 

1)确定障碍栅格

 

栅格法用于构建地图,单元栅格数目由栅格分辨率与实际环境的面积决定,栅格分辨率表示每个栅格与实际环境尺寸的比例,控制栅格地图存储实际地图的模糊度。在一个环境地图模型中,障碍物的形状表示的越准确,栅格数目就越多,则搜索时间变长,导致路径规划搜索速度降低;若降低栅格数目,所需的存储空间就减少,则描述障碍物的形状越模糊。

 

在栅格地图中规划时,障碍栅格由环境中的障碍物和移动机器人尺寸共同决定,将移动机器人的底座重心视为质点,设底座的外接圆半径为R,几种常见的机器人形状(如圆形、矩形及多边形)的外接圆如图2.4所示。

 

 

 

 

 

 

 

2.4 机器人底座外接圆示意图

 

栅格地图法是把实际地图大小用栅格表示,由多个栅格单元表示出地图上的二维信息。该方格内没有障碍物时,表示为移动机器人可移动的区域,赋值栅格为0;该方格内有障碍物时,表示为移动机器人不可移动的区域,赋值栅格为1。算法通过搜索可移动的区域避开障碍栅格规划一条路径。

 

2)障碍物扩大化处理

 

为实现无碰撞路径规划,需要将障碍物进行扩大化处理。即将实际环境中的障碍物以机器人底座外接圆半径的值R为宽度,增加其周围一圈的障碍范围。例如,激光雷达测得某环境信息,中障碍物膨胀化处理如图2.5(a)所示;处理后的障碍物所占据的栅格表示为障碍物的位置信息,单元栅格无论是否被全部占满,都作占据栅格处理,处理后的环境信息如图2.5(b)所示。

 

 

2.5 栅格法地图建模

 

3)二维地图模型表示

 

设机器人工作区域为,单元栅格边长为;则二维建模地图大小为,如式(2-4)

 

 

 

  

 

其中,表示进一取整,每个栅格由对应的坐标表示,并设置不同的值(10),当该栅格内有障碍物时赋值为1,并用黑色表示;无障碍物时赋值为0,并用白色表示。路径规划时,只需遍历值为0的栅格。

 

以图2.5栅格建图模型为例,栅格数组如图2.6所示。

 

 

 

 

 

2.6 栅格坐标表示图

 

 

 

3.1 基于A*算法的路径规划原理分析

A*算法是一种启发式搜索算法,具有搜索效率高、规划速度快和克服了搜索过程中形成的早熟现象等特点,广泛应用于最优路径的求解。A*算法搜索原理主要是从起始栅格点开始搜索与起始点周围的子栅格点,每次从周围的子栅格点中选择一个评价函数最低的点作下一个的搜索节点,即称为当前节点。再次生成与当前节点相邻的子栅格点,并重新搜索评价函数最低的点作新的当前节点,依次搜索,直到当前节点为目的地的位置。

A*算法中定义了两个列表存储与搜索路径相关的栅格节点,分别为OPEN存储表与CLOSE存储表。OPEN表存放所有可到达的访问节点,即路径节点的搜索空间。CLOSE表中存放每次计算评价函数最小的子节点。评价函数影响当前节点的产生次数,而每次更新当前节点都要将OPEN表访问一遍。评价函数影响搜索空间的规模,搜索空间的大小和访问的次数影响着A*算法的速度。因此,A*算法的评价函数直接影响了路径规划的结果搜索的效率。

 

 

 

 

 

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM