1. Introduction with Probabilistic Road Maps
在之前,我们了解了位形空间以及如何使用碰撞函数来检验位形空间中某个点是否处于自由空间,通过检查引起障碍冲突的结构是否位于工作空间,还谈到了一个简单的规划方案,对于在网格中的一系列离散等距的位形空间样本点,用碰撞函数来对其进行检验,将自由空间的点用边相连接,然后利用连接的各边在空间内进行路径规划,在空间维数较低时(例如2维/3维),这种在网格中均匀分配位形空间的方法可行,但随着空间维数增加到5、6、8、10或以上时,所需的样本数量也急剧增加,另一种处理方法是在位形空间内随机选点,而不是均匀选择,我们希望能挑出一组能反映出自由空间中深层结构的位形,下图表明了(这种方法)简单地应用在二维位形空间中是怎样的。
每次迭代中,系统会在位形空间中随机选择一种构形,并用碰撞函数检查它是否位于自由空间。
在此图中,绿的是新的随机点,如果它处于自由空间,就会尝试着查看该绿点是否与其它样本点有可通路径,创建的每个路径都将在系统正在搭建的模型中被记录成一条新的边。
下图中,绿色的实线对应于添加的新边,而绿色虚线表示由于与障碍物碰撞而连接失败的路径。
基本过程的伪代码如下:
我们的目标是构造位形空间的点和边,以获得自由空间的深层拓扑图,我们可以将随机样本之间的边视为构成自由空间中一个相通网络其中的支路,这就是我们为什么称之为随机路图法【PRM】,概率反映过程的随机性和路标图,我们希望将该程序所构建的图应用于自由空间的路标图中。
注意,此过程包含两个部分。
首先,距离函数是关于x1和x2两点的位形空间坐标,并返回一个实数,反应这两点之间的距离,通常;这可以也通过计算标准距离函数完成(如此处所示的L1或L2距离)。
对于有旋转关节的机器人,就要更加小心,以求恰当处理机器人关节环绕问题,这样才能保证距离函数得出的位形空间拓扑图是准确的
例如。如果θ1和θ2的范围是0和360度之间,你可以选择使用这样的距离函数来确认0和360度的正负值是一样的(即角的方向一致)。
PRM的另一个部分是在图上的规划,确定x1和x2之间是否存在可行路径。一种常用的方法是,在两点之间的直线上建立一组均匀的样本,然后用碰撞函数检查(两点连线)中的位置是否会与障碍产生交错。
在此例子中,图中的规划程序表明所讨论的两点间存在可行路径
而在第二种情况下,不存在可行路径
如果两点之间的采样量足够,则此过程通常能找到可行路径,一旦PRM程序生成了足够的有效位形空间样本,我们可以尝试在指定的起点和终点之间生成路径。
我们先尝试下将起点和终点,跟它们位于路线网上附近的点进行连接,如果这一步骤成功,可以用我们在图表中常用的规划算法,在路线网的起点和终点之间找到一条可行路径,比如Dijkstra或A*的算法,我们把在特定点之间规划路径的阶段称为查询阶段,也就是第二阶段。
下图显示的是,通过随机抽样构建的原始概率路线图网
下图显示的是,图中标出了起点和终点,并用绿色的边将他们接入路线中
下图所示最终版本显示出通过该扩充图规划出的路径
请注意,只要构建出路线网。便可以将用其解决各种路径规划问题,因此,每一次查询都可以分摊构建路线网的成本,若要在同一环境下来回运行机器人这就省了不少功夫
2. Issues with Probabilistic Road Maps
下面来关注基于随采样法的几个特点:
缺点
对于完整的路径算法来说,它能找到存在的路径,若路径不存在,则反馈失败信息。
然而PRM算法,可能会出现即使存在路径,算法也无法找到的情况。如果采样过程无法生成合适的样本集
思考下图所示情况,可行路径是存在的,但是得通过这条小通道,为了找到这条路径,PRM算法必须得在狭窄的通道内随机抓取一些点。事实上,越小的通道,抓取的点落在这个区域的可能性就越小。
第一种情况:样本点比较稀疏,所以系统无法找到从左侧到右侧的路线
在第二种情况下,系统生成了更多的样本点,而且找到了一条可行路径
所以只要路径存在并且我们只要不断添加随机样本点,它总能找到路径,然而,这可能需要很长时间才能生成足够的样本点。这就是我们为什么说这些基于随机样本的算法在概率上是完整的,即概率完备性。
一旦该算法找不到路径,就很难知道是不是真的没有路径,甚至不能确定花上一段时间就能够找到它。
因此,在实际中,路标图生成的样本数量是此算法过程的重要参数,为了解决(前面提到的)这些狭窄通道的问题,现在已经提出了很多能够让算法有目的进行采样的方法,从而增加了在这些情况下找到路径的可能性。
其中一种方法是,多在靠近位形空间障碍的位置采点,从而构建出一条可以绕过障碍物表面的路径,但到目前为止,还没有一种可以确保在所有情况下都能完美工作的采样策略。实际上,大多数路径规划问题都是较正常的,因此,开始时用统一随机抽样是个不错的选择,使用这种方法需要注意得一件事是,由于样本点的随机性,产生的轨迹有时看起来非常别扭,通常。人们会对生成的轨迹采取一定的措施以使得粗糙的边缘变得平整,从而得到更满意的结果。
优点
该种基于采样的方法可以应用于高自由度系统,也正是该种方法的最大优势。
总而言之,如果我们不过于追求算法的完备性,那么加上随机采样的优势,那么PRM算法的确为规划路线提供了有效的方法,并且能应用于各种机器人系统。
感谢 B 站 up 主 Here_Kin 的翻译和分享!
【自制中英】宾夕法尼亚大学机器人专项课程二 运动规划 - Robotics:Motion and Planning