先做一个声明:文章是由我的个人公众号中的推送直接复制粘贴而来,因此对智能优化算法感兴趣的朋友,可关注我的个人公众号:启发式算法讨论。我会不定期在公众号里分享不同的智能优化算法,经典的,或者是近几年提出的新型智能优化算法,并附MATLAB代码。
“有不少的同学利用智能优化算法搞路径规划,往往需要创建栅格地图,这里分享两段MATLAB创建栅格地图的代码~”
路径规划需要环境建模,环境建模的目的是模拟现实场景,将物理空间复刻到抽象空间,建立一个可以并且便于计算机处理的环境模型。环境建模其实质就是将算法需要处理的约束条件与物理环境中的障碍物等进行一一映射,并且使路径搜索的情况可以直观的展示在虚拟场景中。机器人路径规划的重要环节之一就是建立一个环境模型了,方便直观地展现出路径规划的场景和规划结果。
建立环境模型的基本要求就是计算机便于存储、处理和使用。在路径规划方面最常用的图形学环境建模方法有几何法和栅格法。这里介绍一下栅格法。
栅格法根据比例和分割要求,将模拟环境进行分割,划分成若干相同的栅格,然后针对每个栅格设置环境参数,根据实际或假设环境,设置其中各个栅格障碍物的情况。栅格法处理的环境模型所得栅格数据结构实际就是一张二维表,因此栅格地图在计算机中是比较容易创建和维护的。由于栅格地图是按照一定的规则划分的,所以很容易将其转移到坐标系下,这样障碍物的位置和可行区域就能更加直观的展示出来,通过行列来显著标识各位置信息。
栅格法建模的优点:在栅格地图中,每个位置都可由坐标点来确定,该位置状态也可由具体数据来表示。栅格地图很容易于在计算机中进行存储、更新与分析,且该方法已在许多机器人系统中得到了成功应用。
01
随机生成
原理其实很简单,随机生成一个01矩阵,1就表示障碍物,指定起点和终点后,画出来就行了。障碍物以概率来生成,这个概率可以自己定义。比如,以0.3的概率随机生成障碍物的40×40的实例,那么在40×40=1600个格子中,有0.3×1600=480个格子是障碍物,画成黑色。
MATLAB代码如下(可直接复制粘贴):
%% 栅格地图创建 %%%% By 后会无期 %%%% 2023.10.24 %%%% 关注