浅谈路径规划

(这里所谈路径规划并不涉及机械臂领域)
所谓路径规划,即在地图上找到从A点到B点的可通行路线.这里包含两个要素:1、地图;2、“找”--搜索算法.关于地图又包含很多,如栅格地图、六边形网格地图、可视图、连通图等,"找"的算法同样也有很多,如迪杰斯特拉算法、A*算法、遗传算法、基于概率RRT、PRM等算法.

地图

所谓地图,本质上是一种数据存储结构。该数据结构中存储着哪些坐标可通行,哪些不可通行。目前应用较多的且最直观的莫过于图片(jpg,png等格式),这种存储方式的地图本质上是一种栅格地图,理论上任何一张jpg或png格式的图片都可以作为路径规划中的地图,图片的栅格坐标即可作为地图坐标。事实上,目前大多数研究路径规划的方案中,都是将其数据转化为栅格图,通过建立栅格图和真实数据之间的关系实现路径的规划。
其实,上述中以图片作为地图,这只是一种极为特殊的栅格地图,即四边形栅格。在数据以图片的方式存储过程中,默认不得不以像素坐标存储数据,而当下像素坐标不可避免的需要符合二维笛卡尔坐标系规则.在这种特殊的四边形栅格坐标表示下,相邻点的坐标只要+1或者-1即可,坐标点之间的距离自然用欧式距离表示.
诚然,图片方式存储的地图有其得天独厚的优势:易于理解、直观可视、计算方便,但是这种方式存储的地图结构也有不可避免的缺点...
聊完最常用的四边形栅格地图(其实就是一张图片)外,国外大佬还研究了六边形栅格地图.相比于四边形栅格地图,六边形栅格地图在并没有那么直观,如果单纯以六边形栅格存储数据,则地图不可视.所以在这篇文章中,作者也只是将四边形网格转化为六边形网格,并提供了坐标转换公式,同时指出了六边形网格各种坐标系之间的优劣,然后进行路径规划.
六边形网格地图相比四边形网格地图有一定的优势和应用场景,比如在游戏领域、在军棋推演领域等.如下两图所示,上图为六边形坐标及其邻域,下图为六边形表示的栅格地图:
浅谈路径规划_第1张图片
从上边两个图中可是看出,六边形网格坐标表示并不是那么易于理解,起码从图上看不是那么直观.在上图中,六边形网格坐标轴的夹角是120度.
其实无论四边形还是六边形,在表示地图时,都必须满足一个条件:多边形能够完全覆盖地图数据.在二维坐标系统中,目前能够满足此条件的只有正四边形或者正六边形.

路径搜索算法

路径搜索算法有很多,这里只谈谈自己对当前路劲研究现状的理解:

1、对已有优秀路径规划算法的改进。在实际应用的过程中,任何一种算法都会面对许多困难,而在具体应用方向做出针对性的改进,可以快速有效的提升算法的性能,同时解决实际问题。

2、混合算法。路径规划的混合算法即各个算法之间的有效结合。任何一个单独的算法,都不足以解决实际问题中的所有路径规划问题,尤其是在针对一些交叉学科中出现的新问题。创造出新的算法难度大,而路径规划算法之间的优势互补可以有效提供一种解决问题的新思路。一些智能算法如群体智能算法、强化学习算法、模糊控制、神经网络等渐渐引入到路径规划问题中。这种互补式的混合算法促使了各种方法的融合发展,通过取长补短,从而产生出一系类更为优秀的算法。

3、环境建模技术和路径规划算法的结合。面对复杂的二维甚至三维连续动态环境信息时,算法所能做的是有限的,好的建模技术和优秀路径规划算法相结合将成为解决这一问题的一种方法。

你可能感兴趣的:(c++,算法)