机器人路径基于采样的规划

描述

路径规划算法主要可分成两种,一种是基于搜索结果的规划,另一类便是本文中将要提及的基于采样的规划。

一般而言,基于搜索的规划(如Astar)通常是运行在栅格地图上的。当栅格的分辨率越大时,算法搜索的路径就会越优。

还有一类算法是基于采样的,主要就是RRT和它的变种算法。这类算法的核心在于随机采样,从父节点开始,随机在地图上生成子节点,连接父子节点并进行碰撞检测,若无碰撞,就扩展该子节点。

就这样,不断地随机扩展样本点,直到生成一条连接起点和终点的路径。如下图所示,RRT算法的扩展图与盘根错节的树枝十分相似。

这里我们简要讨论两种算法的区别,并配置Python+matplotlib环境来对路径规划算法进行研究。

搜索路径规划算法

这一大类算法,在移动机器人软件上常常是在occupAncy grid的格纹版图上进行计划(只能单纯地理解成二值地图的像素矩阵)以深入择优寻径算法、广度择优寻径算法、Dijkstra(迪杰斯特拉)算法为始祖,以A Star算法(Dijkstra算法上以减小运算量为目的加入了一种启发式代价)则更为常见。

如较近期的theta Star算子是在A Star算子的基础上加入了line-of-sight优化所以计划起来的路线不全然依赖于单独的栅格图形如图所示。

机器人

完备的运算的最大优点就在于其对解的信息捕获能力上是完全的,不过随之形成的最大弊端便是运算复杂性太大。

这些缺陷在二维的小尺寸栅格地图上并不突出,但在大尺寸,特别是在多维度规模问题上,如机器臂、蛇形机器人的规划问题将形成很大的计算代价,这也就径直促进了第二大类算法的诞生。

抽样路径规划算法

机器人

这些计算通常都是并不直观的在grid地图实现最小栅格分辨率的计划,但是它能够通过在版图上随意撒下特定密度的粒子,来抽象定义为现实版图上的辅助计划。

因此,PRM算法及其变种就是从原始版图上开始撒点,并通过抽取roadmap在这样的一种拓扑版图上展开计划;

而RRT和其更先进的变体RRT-connect,则是在版图上的每一区域内都能够开始撒点,以迭代生长树的方法,以连结起止点为目的,终于在所连结的版图上实现计划,如图所示。

机器人

虽然这种基于采样的计算速率比较快,但是所产生的路径损失(可认知为时间)较完备的计算高,而且会出现“有解求不出”的情形(PRM的逢Narrowspace卒的情形)。

这样的方式,通常会在更高维的城市规划等实际问题上广泛使用。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分