路径规划学习入门

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

  • Dijkstra和A*算法做的效果演示动画
    A*算法加入了启发函数,用于引导其搜索方向,A*算法会比Dijkstra算法规划速度快不少

    《路径规划学习入门》

  • 最佳优先搜索(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类似,该方法是概率完备且不最优的。
    《路径规划学习入门》
    虽然基于采样的规划算法(如PRM和RRT)速度很快,但他们也有致命的缺点,那就是由随机采样引入的随机性。利用RRT和PRM算法进行运动规划,用户无法对规划结果进行预判,每次规划的结果都不一样,这就使得自动规划的机器人无法进入工业领域(极端追求稳定性)。
    所以目前规划领域也主要集中在对PRM和RRT的改进上,大家都想要尽可能解决这类算法的不确定性,甚至能实现一些优化目标,如RRT*,Informed-RRT*,SBL等。

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

  • 第一步将可能的连续的环境模型装换成适应于所选路径规划算法的离散图,有三种通用的策略:道路图、单位分解、势场。
  • 道路图
    –可视性图
    由连接彼此可见的全部顶点对的连线组成,连接这些无阻挡的顶点即是它们之间 的最短距离。
    《路径规划学习入门》
    该方法仅适用于稀疏目标群,而且允许机器人尽可能的接近障碍物。
    –沃罗诺伊图
    相对于可视化图,它倾向于使图中机器人与障碍物之间的距离最大化。
    《路径规划学习入门》

    它也会使环境中的机器人与物体之间的距离最大化,使得机器人上的短距离传感器检测不到可能存在的危险。

  • 单元分解路径规划
    –主要思想是区分几何区(也叫单元)之间的区别,即把单元区分为自由的和被物体占用的区间。
    –主要分为精确单元分解和
    –精确单元分解:基于以下的思想:在自由空间的各单元中内, 机器人的特殊位置不重要,重要的是机器人从各自由单元走向其相邻自由单元的能力。
    《路径规划学习入门》
    在大的稀疏环境中,单元的数目较少,实施效果挺有效。但是一旦单元数目巨大,实现的难度就会剧增。
    –近似单元分解
    单元的尺寸不依赖于环境中的特殊物体,路径规划的计算复杂性低。是基于栈格的环境表示的普遍性。
  • 势场路径规划
    主要思想:把机器人处理成人工势场影响下的一个点,像球滚下山一样,机器人跟随着场移动。机器人被吸引向目标,同时也被先前已知的障碍物所排斥。
    如果障碍物新出现,应该及时更新势场。
    基本势场包括从起点到目标的有一定梯度的势场和以障碍物为中心的排斥势场。
    《路径规划学习入门》
  • 扩展势场法
    在基本势场上,附加了两个场:转动势场和任务势场。
    –转动势场:当障碍物与机器人行走的方向平行时,减小斥力,因为这样的一个物体不会对机器人的轨迹造成及时的威胁。结果增强了沿墙跟踪能力。
    –任务势场:考虑了当前机器人速度,排除了根据近期势能对机器人速度无影响的障碍物。结果是穿过空间的轨迹更平滑。
    《路径规划学习入门》
  • 补充
    《路径规划学习入门》
    其中,f(n) –预计总耗费(从起始节点到目标节点);g(n) –路径耗费;h(n) –启发式耗费;n –所有功能节点;ε –依赖算法程度参数
  • 假定每一个单元都是相同的遍历花费,转化成更加简单的结构,获取更加快速的实施速度。包括:深度优先、广度优先。另外,Dijkstra算法及其变式也需要在不均匀的耗费地图中计算最优路径。在这些实施中,取ε =0。
  • 当ε≠0时,通常对于搜索查询需要更快的汇集。主要注意点在一致性和更低的功耗。当ε=1时,A*算法最佳;当ε>1时,次最优或贪婪A*是可取的。

  • Dijkstra算法
    以起始点为中心向外层层扩展,直到扩展到终点为止。能得出最短路径的最优解,但由于它遍历计算的节点很多,所以效率低。
    Dijkstra算法

  • 广度优先(BFS)
    从起点向外辐射,直到找到目标点。
    《路径规划学习入门》

  • 深度优先(DFS)
    朝一个方向进发,直到遇到边界或者障碍物,才回溯。
    《路径规划学习入门》

  • A*算法
    A*算法相对广度优先搜索算法,除了考虑中间某个点同出发点的距离以外,还考虑了这个点同目标点的距离。这就是A*算法比广度优先算法智能的地方。也就是所谓的启发式搜索。
    《路径规划学习入门》
    实际路径f(M)=g(M)+h(M)的点(其中h(M)是个估算值),当做我们的路径经过点,即使实际的h’(M)值可能和h(M)值不等也没关系,我们就当做一个参考(总比广度优先搜索好吧~)如在上图估算的时候,我们就可以将S左边的点基本上都抛弃掉,从而减少我们扩展的点数,节约计算的时间。
    –如果h(n)总是低于(或等于)实际的h’(M),则A 保证找到最短路径。较低的h(n)是,节点A 扩展越多,速度越慢。
    –如果h(n)完全等于实际的h’(M),那么A 只会遵循最佳路径,不要扩展任何东西,使其变得非常快。尽管在所有情况下都不能实现,但在某些特殊情况下您可以确切地说明这一点。很高兴知道,给定的完美信息,A 将表现完美。
    –如果h(n)有时大于实际的h’(M),则A *不能保证找到最短路径,但是可以运行得更快。

    深度、广度、A*算法

  • D*算法(针对动态路径,即动态路径最短路是外界环境不断发生变化,即不能计算预测的情况下计算最短路)
    只检查上下一节点或邻近节点的变化情况,当下一节点没有变化时,无需计算,利用上一步Dijstra计算出的最短路信息从出发点向后追述即可;当在Y点探测到下一节点X状态发生改变,如堵塞。机器人首先调整自己在当前位置Y到目标点G的实际值h(Y),h(Y)=X到Y的新权值c(X,Y)+X的原实际值h(X)。
    《路径规划学习入门》
    上图是Drew在4000个节点的随机路网上做的分析演示,细黑线为第一次计算出的最短路,红点部分为路径上发生变化的堵塞点,当机器人位于982点时,检测到前面发生路段堵塞,在该点重新根据新的信息计算路径,可以看到圆圈点为重新计算遍历过的点,仅仅计算了很少得点就找到了最短路,说明计算非常有效,迅速。绿线为计算出的绕开堵塞部分的新的最短路径。

    D*算法

Comparison of Parallel Genetic Algorithm and Particle Swarm Optimization for Real-Time UAV Path Planning
实时无人机路径规划的并行遗传算法与粒子群优化的比较

  1. 定义了总耗费函数
    《路径规划学习入门》
    《路径规划学习入门》表示更长的路径造成的损耗
    《路径规划学习入门》表示更高的海拔高度造成的损耗
    《路径规划学习入门》表示危险区域造成损耗
    《路径规划学习入门》表示超过无人机平均功率的大功率造成的损耗
    《路径规划学习入门》表示与地面碰撞造成的损耗
    《路径规划学习入门》表示超出无人机最初的更多的燃料造成的损耗
    《路径规划学习入门》表示不能用圆弧平滑轨迹造成的损耗

    目的:让耗费函数最小化

  2. 遗传算法
    –先生成多条最初的路径,不加任何的限制条件
    –对每条路径进行评估,选择适合的路径以单点交叉的方式遗传生成子路径
    –子路径的继承方式有:增加新节点、删除已存在节点、更改已存在节点
    –当遇到终止标准时,继承过程结束,最终使得子路径代替母路径。终止标准可以是:定义一个最大的继承代数或者限制总的执行时间

    –对轨迹进行平滑化处理
    《路径规划学习入门》

  3. 粒子群优化算法

    –先模拟一群粒子在多维空间内搜索着向着最优路径方向发展,其中,每个粒子的位置代表着一个完整的路径,
    –最好的位置都是被粒子(个体影响)和蜂群(社会影响)所占据
    –在最初的PSO中,路径不进行任何形式的突变(加节点、删改节点)

    –用来计算每个粒子的速度和位置的公式
    《路径规划学习入门》

    其中,向量v代表粒子的速度;x代表粒子的位置;b代表粒子先前占据的最好的位置;g代表蜂群的任一粒子先前占据的最好位置;《路径规划学习入门》代表介于0和1之间的随机数向量;《路径规划学习入门》分别代表惯量、个人影响参数、社会影响参数

    –终止标准也可以定义为一个最大的循环次数或者限制总的执行时间
    《路径规划学习入门》

  4. GA和PSO并行执行
    因为单个执行时间耗费太长,所以将两个方法并行执行
    《路径规划学习入门》

  5. 结果
    –就单个算法而言,GA比PSO更利于解决在10s限制时间内的无人机的路径规划。

    –通过并行执行GA和PSO,无人机的动态规划变得可能

基于改进蚁群算法的无人机路径规划

  1. 由于无人机的飞行路径受转弯角度的约束,因此在选择下一个节点时,不能把周围的8个节点都看成候选节点,只有其中的三个节点可以作为候选(当然是不在禁飞区的前提下)
    《路径规划学习入门》
  2. 将两组蚂蚁分别放置在起点和终点区域,以对方的出发点作为目的地寻找最短路径。两只蚂蚁分别携带自己的路径信息,当两者相遇时,通过整合他们的信息,可以快速得到一条新的可行路径。

AN EVOLUTION BASED PATH PLANNING ALGORITHM FOR
AUTONOMOUS MOTION OFA UAV THROUGH UNCERTAIN
ENVIRONMENTS
无人机在不确定环境下自主运动的路径规划

  1. 引言
    规划离实际运行时间越远,越不能够保证其准确性,所以需要每隔一段时间进行重新规划
    好的通过循环执行规划的方法不会触发障碍物碰撞警报,但是警报也是不可获取的
    如果规划更新过于频繁,无人机的速度可能是个问题。因此好的方法是尽可能多的基于以前规划的方案进行小改。

  2. 基于进化理论的路径规划

    –路径规划的结构
    先随机选取样本,整个过程是按照环结构进行,每个步骤中,新的节点会首先加入到样本中,其方式包括:更改当前已有的节点,混合两个或多个已有节点;然后会通过耗费函数给新样本中所有的成员进行评估,基于评估结果,好的路径会保留,差的路径会舍去。
    《路径规划学习入门》

    –重新规划
    每隔一段时间的重新规划按照下面步骤:
    1、按照最大成功率进行路线规划
    2、在规定的时间间隔内按照规划的路径移动
    3、更新障碍物位置和运动的估计,更新无人机位置。
    4、使用之前的方案作为新的规划的初始条件
    5、重新规划路线
    6、执行步骤2

规划算法_(英)拉瓦利著

一般前项搜索

  • 在搜索过程中主要有三种状态:
    – 未访问的:还没有被访问的状态。
    –不活动的:已经访问的状态以及对该状态来说下一个可能的状态都已经被访问过。因为它们对搜索来说不会有任何的贡献,不会对发现可行的规划的更新信息有任何帮助。
    –活动的:已经遇到的状态和一些还没有被访问的相邻状态。在初始时刻只有初始状态是活动的。

  • 活动状态的集合保存在优先级队列Q中,优先级由优先级函数确定。

  • 各种搜索算法的明显区别在于采用特定的函数对Q进行排序。
  • 《路径规划学习入门》

    特殊前向搜索

  • 广度优先
    将Q指定为先入先出的队列,引起边界的一致增长,包含k步的所有规划在进行k+1步的规划之前都已经全部用完。因此其可以保证发现的第一个解用的最少步数。

  • 深度优先
    jiangQ指定为后入先出的栈,对状态转移图的探索将是很迅速的,不同于广度优先的一致扩展。因为搜索快速深入图中,可尽早的优先选择较长的规划,但是较长规划的选择具有随意性。
    对于无限空间来说,搜索过程很容易集中于一个方向,错过大部分的搜索空间。

  • Dijkstra算法
    引入了代价函数,每条边都对应一个相应的非负代价。优先级的队列Q按照已付代价的函数进行排序。从起始点到目标点所有可能的路径上对边的代价求和,并取产生最小累积代价的路径,即为最优代价。

  • A*算法
    它是Dijkstra算法的扩展,通过对给定状态到目标状态的代价进行启发式估计,试图减少所需探索状态的数量。目的是提供一个尽可能接近最优尚需代价值的估计值,并且还保证不大于最大尚需代价值。Q的排序是按照从当前状态到目标状态的的最优代价的估计值来进行排序。

  • 迭代深化
    采用的是深度优先的策略,首先寻找与起始节点距离为i或小于i的状态,如果没有发现目标,再寻找寻找与起始节点距离为i+1或小于i+1的状态.通常从i=1开始迭代。

    一般意义的搜索方法

  • 前面的搜索方法都是从起始节点开始,当然也可以从目标节点开始,产生其后向版本。
    《路径规划学习入门》

  • 双向搜索:一棵树从起始状态开始生长,另一颗树从目标状态开始生长。
    当两棵树相遇时,搜索成功。
    Dijkstra算法和A*算法具有双向搜索。

基于采样的运动规划

《路径规划学习入门》
当确定了采样点的放置位置,接下来就是确定位形是否存在碰撞冲突。在多数的运动规划中,绝大部分时间都花费在碰撞检测中。
碰撞检测的方法:
–层次法:通常将每个物体剖分为一个树,树中的每个顶点表示包含物体某子集的一个包围区,根节点的包围区包含整个物体。
如考虑物体E和F有没有发生碰撞。分别为E和F构造树Te和Tf,如果两个树的根节点的包围区没有相交,那么肯定没有发生碰撞。如果包围区相交,那么将Te孩子的包围区和Tf的包围区进行比较,如果相交,用Tf的孩子的包围区代替Tf的包围区,这个过程递归进行。只要包围区重叠,就需要遍历树的更低节点的区域,直到最后树的叶子。
–增量法
//检验路径片段的方法:
对于高维空间中的高分辨率的栅格,大多数的离散算法会陷入局部最小值的问题。
《路径规划学习入门》

  • 单向(单树)方法:在二维空间发现出口并不困难,但是如果关于每个位形参数的变化范围特别小,发现出口几乎是不可能的。
  • 双向(双树)方法:当不知道起点和终点是否处于陷阱中时,该方法是可取的。
  • 多向(多树)方法

  • 离散规划问题
    当定义了栅格和邻域后,就可进行离散规划。拓扑图g是在搜素过程中逐步展现出来的,任何已经进行碰撞检测的边或顶点将显式的出现在数据结构中,以后不需要进行检测,搜索结束就发现了一条路径。
    《路径规划学习入门》

  • 栅格的分辨率
    一个解决方案是不要求在进行搜索之前存在完整的栅格,在再次搜索之前,为每个轴增加分辨率。更好的是搜索过程和采样过程交替进行,这种算法并不需要分辨率参数。union-find算法。

  • 随机势场
    随机势场方法采用随机游走试图跳出局部最小点,最复杂的部分是定义势场,有一个吸引项和排斥项。
    《路径规划学习入门》
    该方法可以跳出局部最小值问题,但是大量的参数调整使得变得很复杂。

  • Ariade算法
    该方法生成的搜索树倾向于在每次迭代中探索新的区域。它有两种模式:探索和搜索。两种模式交替进行。
    在探索模式下,随机选取顶点,并发现一个可以连接该顶点并且离其他顶点尽可能远的位形。
    在搜索模式下,将探索模式下所增加的顶点向目标位形延伸。
    其不足之处在于很难解决在探索模式下放置一个新的顶点的优化的问题。P154采用遗传算法,但是需要特定问题进行参数调整。

  • 可扩张空间规划器

  • 随机游走规划器
  • 快速探索稠密树
    树是由许多短的路径而不是一条长路径组成,在递增构造树的过程中,一个稠密的采样序列作为引导,如果该序列是随机的,那么产生的树就是快速探索随机树RRT;不管该序列是确定的还是随机的,产生的树称为快速探索稠密树RDT。
    《路径规划学习入门》

    《路径规划学习入门》

它首先构造几个主要的分支快速到达空间的远的角落,逐渐的,更多 空间被更小的分支所填充。
《路径规划学习入门》
当碰到障碍物时,会进行碰撞检测,迭代不会产生新的边和顶点。
《路径规划学习入门》
–有效的发现最近点

—-精确解

—–近似解:相对而言,其更容易,但是需要引入分辨率参数。
方法:每个路径片段通过沿着长线段插入中间顶点来近似。每当一个新的采样点插入时,都应增加中间节点,插入的中间采样点应该确保任意两个相邻的顶点的距离不超过定义的参数q。使用中间节点,当寻找到最近点时忽略边的内部。
《路径规划学习入门》
增加顶点的数量可以提高近似的质量,但是会增加计算时间。方法是将顶点插入一个为搜索最近邻近点而建立的数据结构。Kd-树。Kd-树可看做是二叉树的扩展。初始条件下,首先按照坐标x进行排序,取中值点进行分割成左右部分,然后对每侧按照坐标y进行排序根据中值点分割成上下部分。如此递归,反复分割。算法发现从该该叶子中的数据点到疑问点的所有距离,选取最近的点。
《路径规划学习入门》
kd-树在维树大于为20的规划中很有效,维数再大,性能会降低。

  • 在规划中使用树
    –单树的搜索
    从q1开始生长树,并且周期性的检测是否可能将RDT连接到qG。从一个稠密序列开始,周期性的以等间隔插入qG。这种概率密度函数的偏值是一个比较困难的启发式问题。
    –平衡双向搜索
    通过生成两个树,一个从q1开始,一个从qG开始。为了保持快速搜索的性质,还应该确保双向搜索是平衡的。多次迭代后,两棵树进行交换,扩展一棵树用的是另一颗树的顶点,使得一棵树向着另一颗树生长。
    –多树搜索
    对有两个陷阱的问题很有帮助。P160
    参考文献:84、919、920

  • 多初始-目标疑问问题
    随机路线图PRM,将运动规划分为两个计算阶段:预处理阶段和疑问阶段

使用单一查询基元进行多重查询PRM规划
Multiple query probabilistic roadmap planners using single query primitives

  1. 用的是借助双向快速搜索随机树(BI-RRT)的PRM方法进行规划
  2. 为了在没有预处理信息的情况下解决查询问题,提出了该算法。
  3. 异构双层规划:提出将PRM和RRT结合起来去更有效的解决多重规划问题。
  4. 能够让我们用狭窄的通道解决多维度的问题
  5. 5.

OMPL_Primer中采样路径规划的内容

  • 随机路线图PRM
    道路图会被以微粒组成的样本的图的结构进行储存。它是对整个区域进行采样分成若干个微粒,然后舍去障碍物处的微粒。
    《路径规划学习入门》
    一旦预想数量的微粒建立完成,路线图自身就将连接随机样本成边界。标准的PRM试图用一个发现最短无碰撞路径的方法连接离他最近的K个样本点,该方法包括插足两个样本点之间的运动和核准在一些特定区域的碰撞。如果没有发现机器人在这些样本点之间没有和障碍物发生碰撞,这条连线就会加入到路线图中。
    《路径规划学习入门》
    当路线图都完成后,就能够将起始节点和目标节点连接起来,然后运用图搜索方法找到其中的最短路径。
  • 基于树的路径规划
    在自由空间生成树的结构,这些树是由类似于概率路线图的方法生成,只是没有环。这些方法包括RRT、EST、SBL、KPIECE。
    通用的框架:在开始规划时,生成树的根节点;然后在自由空间内随机生成样本点;然后启发式扩展,即将这些样本点用一种无碰撞的路线与树连接起来。
    《路径规划学习入门》
    刚好采样到目标节点是小概率事件,所以该方法经常使树偏离目标节点。当它连接目标点到已存在的树,搜索结束。
    《路径规划学习入门》
    《路径规划学习入门》

  • 基于路线图的规划和基于树的规划的区别和共同点
    基于树的规划更加适用于单次规划,这些树通常不会覆盖整个空闲区域,但是路线图会。
    因为定向的、无环的数据结构,使得基于树的方法更擅长于在复杂动力学环境中进行规划,树的每条线将会编码上控制信息,每个顶点满足有效控制的先决条件。
    他们的共同点在于需要一个更小的储存封装。规划器的紧密程度取决于采样过程本身。储存和搜索底层数据结构应该使方法的质量变得更高。随着问题的复杂度越高,储存的空间也越大。

  • 采样规划的基本元素

    碰撞检测是采样规划的重要环节。它用于在样本之间找到一条无碰撞路线时和采样过程时。它的工作是接受机器人的配置和快速决定该状态是否在碰撞中。
    邻近搜索是采样规划的另一基础。它从决定两个状态的机器人是否靠近来提出的许多的方法来发现在高维空间的路径。但是,距离在非欧几里得空间不是容易计算,KD-树提供了一种执行这种搜索的方法,但是最佳的连接方法还待优化。

布谷鸟飞行搜索

  • 增强性和多样性是两个重要的指标。增强性要求选择最好的路径,多样性保证能够有效率的搜索区域。
  • L´evy Flights用的是一系列的折线,每个折线之间的夹角为90度。
  • 飞行搜索遵循以下三种理想的规则:
    –每个布谷鸟每次都产一个蛋,并将蛋产在随机选取的一个巢中;
    –最好的巢中的最好的蛋将会延续到下一代中;
    –可用的宿主巢的数量是确定的,布谷鸟产下的蛋被宿主鸟发现的几率为Pa(介于0和1之间),在这种情况下,宿主鸟将会抛弃这个蛋或者抛弃这个巢。
    《路径规划学习入门》
    图 布谷搜索的伪代码

移动机器人的路径规划与定位技术研究 中的蚁群算法
蚁群算法ACO:根据环境中各条路径的残留信息素的量来决定下一步的搜索方向。
蚂蚁运动的过程简单归纳为:
1、当周围没有信息素指引时,蚂蚁的运动具有一定的惯性,并有一定的概率选择其他方向
2、当周围有信息素的指引时,按照信息素的浓度强度概率性的选择运动方向
3、找食物时,蚂蚁留下家相关的A信息素,找家时,蚂蚁留下食物相关的B信息素,并随着移动距离的增加,洒播的信息素越来越少
4、随着时间推移,信息素会自行挥发

一个简单的例子,如果现在有两条通往食物的路径,一条较长路径A,一条较短路径B,虽然刚开始A,B路径上都有蚂蚁,又因为B比A短,蚂蚁通过B花费的时间较短,随着时间的推移和信息素的挥发,逐渐的B上的信息素浓度会强于A,这时候因为B的浓度比A强,越来越多多蚂蚁会选择B,而这时候B上的浓度只会越来越强。如果蚂蚁一开始只在A上呢,注意蚂蚁的移动具有一定小概率的随机性,所以当一部分蚂蚁找到B时,随着时间的推移,蚂蚁会收敛到B上,从而可以跳出局部最优。
《路径规划学习入门》
但是也存在如下缺点:
搜索到一定程度,会出现停滞状态,陷入局部最优的情况
盲目的随机搜索,搜索时间较长

论文中的将来的研究工作:
1、不确定环境中,实时、动态的移动机器人的路径规划
2、从传感器获得的信号中准确的提取环境特征以及如何匹配观测到的路标和建立中的地图中的已知路标。

基于势场法和遗传算法的机器人路径规划技术研究
移动机器人的路径规划分为两类:
1、基于已知和部分已知的环境地图的全局路径规划
2、基于传感器信息的局部路径规划

论文将来的研究工作:
1、机器人的导航定位
2、网络支持下移动机器人的远程控制
3、多机器人系统体系结构与协作机制、信息交互以及冲突消除。

移动机器人系统中分布式传感器信息融合方法和路径规划问题的研究
今后待研究的方向:
1、根据环境复杂度指数调整机器人移动速度
2、多移动机器人系统进行环境感知和路径规划
3、引入学习模块,使得机器人可以自我调整数据融合算法和路径规划中相关参数的能力

改进蚁群算法及在路径规划方面的研究
今后待研究的内容:
1、带时间窗车辆路由问题、多车场车辆路由问题
2、蚁群算法是一种全局搜索算法,能够很好的避免算法陷入局部最优,但是当求解问题的规模变大时,算法的搜索空间也会随之增加,时间消耗也会随之增大,将算法与其他算法结合起来,这是一个尝试方向
3、在求解多智能体编队最短路径问题,求解的只是总路径最短,可以尝试加上更多的约束条件来解决实际问题。

小型无人地面机动平台的路径规划技术研究
蚁群算法
将相应的仿生理论应用到路径规划领域,并诞生了相关的仿生规划算法:
神经网络算法具有较强的容错能力、学习能力以及鲁棒性强的优点,但是网络中的权值难以设定;
遗传算法克服了局部最小值的问题,很好 收敛性、较小的计算量、易做到边规划边跟踪,但是不能够进行大规模的规划计算,规划结果容易陷入“早熟”。
《路径规划学习入门》
对于分层式体系结构,优点是层次清晰、各模块功能简单、便于实现,缺点是每次都要经过感知-规划-执行步骤,对于实时性要求较高的行为难以实现,当一个模块出故障时,会导致整个控制系统崩溃。
针对以上的不足,提出了包容式体系结构,将感知、规划、执行封装成不同的行为模块,在某一个时刻只有一个行为作用于机动平台,对其进行控制,各行为模块之间通过仲裁来获取对机器的使用权。
待研究的工作:
1、建立更加简洁而完整的环境地图
2、多传感器的使用。传感器用的越多,获得的信息越丰富,但是各种误差和误读也随之而来。
3、大部分的都是理论研究工作,缺乏进行实际的应用。平台的动力学控制系统研究将是一个全新的邻域。

多机器人系统的动态路径规划方法研究
基本的PSO(粒子群算法)原理:
将待求解问题的解空间比作鸟的飞行空间,把问题的候选解比作空间中的一只鸟,把问题的最优解比作鸟要寻找的食物,这样就把求解最优解问题比喻成鸟的觅食过程。
《路径规划学习入门》
首先在问题解的可行域中随机生成一群粒子,每个粒子都是问题的一个解,并通过适应度函数判断解的优劣。每个粒子在迭代过程中追随两个极值,一个是个体极值,即代表粒子自身的认知水平,一个是全局极值,代表社会认知水平。
人工鱼群算法
1、觅食行为:通过味觉、视觉判断食物浓度,并快速游向食物浓度增多的区域。
2、聚群行为:大量或者少量的鱼聚集成群,躲避敌害,遵循以下几个规则:
分割规则:尽量避免与邻近的同伴靠的太近而杀害对方;
对准规则:尽量与同伴的方向保持一致;
内聚规则:尽量朝着同伴的中心移动。
3、追尾行为:当一条或者多条发现食物时,附近的鱼会尾随游向食物浓度高的地方,进而使更远地方的鱼前来。
4、随机行为:是为了在更大的水域寻找食物和同伴。
本文的不足之处:
1、行为变量只选取了速度和姿态角,在以后的研究中可以加入其它的参数,比如机器人的角加速度。
2、在利用人工鱼群算法对模糊神经网络进行优化时,由于训练样本较少,没有充分的进行实验验证。
3、在全景视觉的基础上,通过多传感器融合技术进行实时的识别障碍物,得到障碍物的实时位置以及速度信息,从而进一步的验证算法。
4、三角定位算法中的路标下一步将对自然环境特征进行研究,提取自然环境中的特征作为路标,研究基于自然特征的的路标定位算法,进一步提高定位的精度,从而更好的验证路径规划算法。

水下机器人路径规划问题的关键技术研究
Q学习算法:
从某个初始状态开始,不断的以“试探-调整”的方式来训练学习,直到达到目标状态,结束一次学习过程。在Q学习系统的学习过程中,学习系统和环境的一次交互包括:
1、观察现在的环境状态;
2、选择并执行一个动作;
3、观察下一个状态;
4、收到一个立即强化的信号;
5、调整Q值;
6、t<-t+1,转入下一个时刻。
今后的研究工作:
水下机器人路径规划算法的鲁棒性和完备性研究;
在存在动态故障的复杂环境中水下机器人的局部路径规划问题研究;
结合人工智能、运筹学、优化控制理论进行算法的集成研究。

    原文作者:蚁群算法
    原文地址: https://blog.csdn.net/dazhushenxu/article/details/77833023
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞