赞
踩
基于采样的路径规划算法-RRT系列
VX关注晓理紫并回复rrt获取代码
[晓理紫]
基于抽样的规划方法(或称概率方法)通过在连续 C 空间中逐步或批量抽样,构建由离散 C 空间样本连接的树或图,从而捕捉解空间的连通性,进而得出可行或最优解,而无需明确构建解空间。其性能主要取决于采样策略、碰撞检查和邻域搜索。
常用的可行解算法有 Probabilistic Road Map (PRM),Rapidly-exploring Random Tree (RRT)
什么是 PRM?(得到图结构,渐进的探索解空间的连续性)
学习阶段
用随机点检测 C 空间,并构建表示环境连通性的图形。步骤如下
1、在 C 空间中在随机采用 N 个点
2、删除碰撞的点与碰撞的边
(在空间中采用 N 个点,检查 N 个点是否和障碍物发生碰撞,删除发生碰撞的点,并与相邻的点进行尝试链接。并对链接的边进行碰撞检测,如果边是碰撞的删除。)
删除红色的边
在路线图上搜索,找到从起点到目标的路径((使用 Dijkstra 算法或 A* 算法)。路线图现在与网格图(或简化网格图)相似。)
优缺点
优点
可进行多次查询(静态地图)
缺点
在状态空间上构建图,但不特别注重生成路径。
提高效率
碰撞检查过程非常耗时,尤其是在复杂或高维环境中。
懒惰碰撞检测
在采样点并生成线段期间,并不考虑碰撞(Lazy)。
在不进行碰撞检查的情况下,在生成的路线图上寻找路径。
如果路径存在碰撞,则删除相应的边和节点。
重启路径查找。直到找到符合条件的路径
通过执行随机控制,在树中生成 “next states”,从而建立一棵从起点到目标的树
算法步骤
动态程序设计 (DP) 函数方程(离散形式)
f ( j ) = m i n i ∈ B ( j ) { f ( i ) + D ( i , j ) } , j ∈ C / { 1 } f(j)=min_{i\in B(j)}\{f(i)+D(i,j)\},j \in C /\{1\} f(j)=mini∈B(j){f(i)+D(i,j)},j∈C/{1}
B ( j ) B(j) B(j):表示 j 的前一个节点, D ( i , j ) D(i,j) D(i,j):从节点 i 过度到节点 j 的代价, f ( j ) f(j) f(j):从起始节点到 j 节点的代价(从起点到某一个节点的最优代价是其前面算有节点的最优代价加上前面节点到此节点代价之和的最小值)
DP 功能方程并不构成算法!
在运动规划中,状态图(或网格)几乎肯定是循环的。
每个状态可以处于任意级别(步长),只能通过范围查询或 k-NN 查询来访问状态。
基于采样的方法在增量或批量生成隐式随机几何图(RGG)时引入了某种随机性。它仍可被视为图搜索。
PRM 是先构建图在去搜索,RRT 是边构建图边搜索
对于RRT的改进,渐近最优(在条件允许的情况下)
相同的迭代次数花费的时间更少
伪代码
分步解释
获取 x_new 周边 N 个临近节点
考虑历史成本,而不仅仅是局部信息,选择父节点
RRT | RRT* |
---|---|
![]() | |
![]() | |
r a n g e = m i n { γ . ( l o g ( c a r d ( V ) ) c a r d ( V ) ) 1 d , η } range = min\{\gamma.(\frac{log(card(V))}{card(V)})^{\frac{1}{d}},\eta\} range=min{γ.(card(V)log(card(V)))d1,η}
要保证 γ > ( 2 ( 1 + 1 d ) 1 d ) ( μ ( X f r e e ) ξ d ) 1 d \gamma>(2(1+\frac{1}{d})^{\frac{1}{d}})(\frac{\mu(X_{free})}{\xi_{d}})^{\frac{1}{d}} γ>(2(1+d1)d1)(ξdμ(Xfree))d1
其中 η \eta η:生成距离(步长), c a r d card card,势集合个数, d d d:维度,几维空间。 γ \gamma γ:保证最优性
根据经验,对于低维规划, γ \gamma γ可以设定一个比步长距离稍大的恒定范围。
实际使用技巧
RRT* 的缺陷
RRT# | RRT* |
---|---|
![]() | |
![]() |
信息集合的估计方法
原理图
步骤 1
步骤 2
动画演示
L2 启发式的缺陷
GuILD 方法原理图
步骤 1
步骤 2
步骤 3
对于信标b的选择可以参考ZJU-FAST-Lab的sampling-based-path-findingi项目中的rrt_sharp.h的beaconSelect函数
VX关注晓理紫并回复rrt获取代码
{晓理紫|小李子}喜分享,也很需要你的支持,喜欢留下痕迹哦!
动画来源于https://github.com/ZJU-FAST-Lab/sampling-based-path-finding
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。