路径规划(一) —— 环境描述(Grid Map & Feature Map) & 全局路径规划(最优路径规划(Dijkstra&A*star) & 概率路径规划(PRM&RRT))

  • Post author:
  • Post category:其他


路径规划问题就是把机器人的工作环境量化的描述出来,让机器人知道哪里可以走,哪里不可以走,从而规划出一条可行的轨迹,并且对于轨迹本身进行优化

环境的描述

对于环境的描述,我们一般使用两种方法——Grid map 和 Feature Map


这两种map的方法实际上是互补的



一般来讲:我们会维护两种地图

,用grip map和feature map来相互映射


Grid Map

有地方也叫configuration space

grid map就是比较直观,把所有障碍物表示成黑色的pixel,可通行区域就是白色


但在比赛中是会有一些加成区域和惩罚区域 (灰色)


优势:

  • 能够直接进行规划,生成路径。
  • 可以很好的表示地图上各个区域空间附加信息;如代价,概率分布等信息



缺点:

  • 真正有用的信息十分稀疏。
  • 内存占用随着地图精度的增加而大幅上升
  • 无法理解地图中的语义信息

无法理解地图中的语义信息指的是我们在grip map中,不知道障碍块是什么材质的,木头的、铁的、可不可以移动,这个障碍物是静止的还是敌方的机器人

要合理利用grid map的精细度

可能是粗糙的全局地图+精细的局部地图

Feature Map

其实说它是map是不太准确的,它就是一个字典,存储各个物体的位置与几何描述


优点

  • 对于每一个物体的几何形状的描述和位置的描述都是无限精细的。
  • 没有额外的空间占用
  • 保留各个障碍物的语义信息。能够区分障碍块和对方机器人。


缺点

  • 无法直接进行路径规划
  • 无法表示空间分布。

全局路径规划

最优路径规划

直接用grid map

①Dijkstra

②A*

关键点是我们知道一些额外的信息,类似有上帝视角,而不是只是作为一个图的探索者

f(n) = g(n) + h(n)

g(n)可以看做从start到current所花费的cost,h(n)从current到end的花费。


A*算法和Dijistra算法的区别在于有无估价值,Dijistra算法相当于A*算法中估价值为0的情况。

由于其简便性,A* 算法在移动机器人平台上被广泛的运用,ICRA 比赛的官方代码就是使用这种思路;

但是A* 算法的稳定性非常差。而且无法适用于比较精细的地图

概率路径规划

即基于采样的规划算法

概率性的算法,并不能保证求到最优解

PRM算法

Probabilistic Roadmaps 随机路标图

概率完全、渐进最优

PRM算法及其变种就是在原始地图上进行撒点,抽取roadmap在这样一个拓扑地图上进行规划


优点

  • 1. PRM可以被重复使用
  • 2. 相较于A* on grid map 更快


缺点

  • 1. 每次地图发生动态变化,图都需要重构。
  • 2. 渐进最优;概率完全

RRT算法

Rapidly-exploring Random Tree 快速探索随机树

概率完全

实质上只是一种连通算法,不算是优化算法,但是比起PRM构图更快,更灵活,非常适合在复杂,动态地图上进行规划

RRT以及其优秀的变种RRT-connect则是在地图上每步随机撒一个点,迭代生长树的方式,连接起止点为目的,最后在连接的图上进行规划

比较玄学

上个世纪被提出,但是近些年才被接收并使用



版权声明:本文为hxxjxw原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。