路径规划学习入门

2018-10-07  本文已影响435人  C_GO流媒体后台开发

运动规划简介

当虚拟人开始一次漫游时,首先全局规划器根据已有的长期信息进行全局静态规划,确定虚拟人应该经过的最优化路线。然后全局规划器控制执行系统按照该路径运动。在运动过程中,感知系统会持续对周围环境进行感知。当发现动态的物体或未知障碍时,局部规划器根据这些感知到的局部信息,确定短期內的运动。当避障行为的优先级高于沿原路径前进时,局部规划器就能够通过竞争获得执行系统的控制权,使得虚拟人按照局部规划结果运动。完成对当前感知障碍的规避行为后,全局规划器再次取得执行系统的控制权,使得虚拟人重新回到全局规划路径上,继续向目标点运动。参考

Dijkstra和A*算法做的效果演示动画

A算法加入了启发函数,用于引导其搜索方向,A算法会比Dijkstra算法规划速度快不少。

20170913165752985.gif

最佳优先搜索(BFS)算法

BFS按照类似的流程运行,不同的是它能够评估(称为启发式的)任意结点到目标点的代价。与选择离初始结点最近的结点不同的是,它选择离目标最近的结点。BFS不能保证找到一条最短路径。然而,它比Dijkstra算法快的多,因为它用了一个启发式函数(heuristic function)快速地导向目标结点。例如,如果目标位于出发点的南方,BFS将趋向于导向南方的路径。在下面的图中,越黄的结点代表越高的启发式值(移动到目标的代价高),而越黑的结点代表越低的启发式值(移动到目标的代价低)。这表明了与Dijkstra 算法相比,BFS运行得更快。


A*算法结合了Dijkstra和BFS的各自的优点,把Dijkstra算法(靠近初始点的结点)和BFS算法(靠近目标点的结点)的信息块结合起来。

随机路图法PRM

是基于图搜索的方法,随机路图(Probabilistic Road Maps,PRM)就是在规划空间内随机选取N个节点,之后连接各节点,并去除与障碍物接触的连线,由此得到一个随机路图。

显然,当采样点太少,或者分布不合理时,PRM算法是不完备的,但是随着采用点的增加,也可以达到完备。所以PRM是概率完备且不最优的。

快速扩展随机树法RRT

是基于树状结构的搜索算法,RRT算法是从起始点开始向外拓展一个树状结构,而树状结构的拓展方向是通过在规划空间内随机采点确定的。与PRM类似,该方法是概率完备且不最优的。


20170904092336606.gif

快速扩展随机树法RRT

是基于树状结构的搜索算法,RRT算法是从起始点开始向外拓展一个树状结构,而树状结构的拓展方向是通过在规划空间内随机采点确定的。与PRM类似,该方法是概率完备且不最优的。

虽然基于采样的规划算法(如PRM和RRT)速度很快,但他们也有致命的缺点,那就是由随机采样引入的随机性。利用RRT和PRM算法进行运动规划,用户无法对规划结果进行预判,每次规划的结果都不一样,这就使得自动规划的机器人无法进入工业领域(极端追求稳定性)。
所以目前规划领域也主要集中在对PRM和RRT的改进上,大家都想要尽可能解决这类算法的不确定性,甚至能实现一些优化目标,如RRT,Informed-RRT,SBL等。

Introduction to Autonomous Mobile Robots 中关于路径规划的内容

第一步将可能的连续的环境模型装换成适应于所选路径规划算法的离散图,有三种通用的策略:道路图、单位分解、势场。

道路图

单元分解路径规划

势场路径规划

主要思想:把机器人处理成人工势场影响下的一个点,像球滚下山一样,机器人跟随着场移动。机器人被吸引向目标,同时也被先前已知的障碍物所排斥。
如果障碍物新出现,应该及时更新势场。

基本势场包括从起点到目标的有一定梯度的势场和以障碍物为中心的排斥势场。

扩展势场法

在基本势场上,附加了两个场:转动势场和任务势场。


本文来自 沐清浅 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/dazhushenxu/article/details/77833023?utm_source=copy

上一篇下一篇

猜你喜欢

热点阅读