文章目录
- 前言
- 一、传统路径规划算法
- 二、图形学方法
- 三、智能仿生算法
- 四、其他算法
- 总结
前言
移动机器人的自动探索需要对机器人进行路径规划,移动机器人的路径规划问题始于20世纪60年代。路径规划作为机器人导航最基本的环节之一,是目前很多技术领域研究的热点,具有广阔的应用前景和科研价值,而路径规划算法的研究是其中的核心内容。路径规划的主要任务是从一个初始点出发,然后按照特定的问题需求,寻找到一系列的动作在保证无碰撞、安全的情况下,到达任务的目标点为止。路径规划的核心就是算法的设计,根据对环境信息的把握程度可把路径规划划分为基于先验完全信息的全局路径规划和基于传感器信息的局部路径规划。
一、传统路径规划算法
- 模拟退火算法:是一种适用于大规模组合优化问题的有效近似算法。该算法是通过模拟固体退火的过程,通过设定初始温度、初始状态和降温率控制温度的不断下降,结合概率突跳的特性,利用解空间邻域结构进行随机搜索。该算法具有描述简单、使用灵活、运行效率高、初始条件限制少等优点,但是存在着收敛速度慢、随机性等缺点。参数设定是应用过程中的关键环节。
- 人工势场法:是一种虚拟力法。该算法模拟引力、斥力下的物体运动,目标点与运动体间为引力,运动体和障碍物间为斥力,通过建立引力场、斥力场函数进行路径规划。该算法具有规划出来的路径平滑安全、描述简单等优点,但是存在局部最优问题。引力场的设计是算法能否成功应用的关键。
- 模糊逻辑算法:是一种模拟驾驶员的驾驶经验,将生理上的感知和动作结合起来,根据系统实时的传感器信息,通过查表得到规划信息,从而实现路径规划。算法符合人类思维习惯,免去数学建模,也便于将专家知识转换为控制信号,具有很好的一致性、稳定性和连续性。但总结模糊规则比较困难,而且一旦确定模糊规则在线调整困难,应变性差。最优的隶属度函数、控制规则及在线调整方法是最大难题。
二、图形学方法
传统算法解决实际问题时往往存在着建模困难的问题,图形学的方法则提供了建模的基本方法,但是图形学的方法普遍存在着搜索能力的不足,往往需要结合专门的搜索算法。
- C空间法:也成为可视图法,就是在运动空间中扩展障碍物为多边形,以起始点、终点和多有多边形定点间的可行直线连线为路径范围来搜索最短路径。C空间法具有直观,容易求得最短路径的优点。缺点是一旦起始点和目标点发生改变,就要重新构造可视图,缺乏灵活性。因为C空间法局部路径规划能力较差,所以适用于全局路径规划和连续域范围内的路径规划。
- 栅格法:是用编码的栅格来表示地图,把包含障碍物的栅格标记为障碍栅格,其余栅格标记为自由栅格,在此基础上进行路径搜索。栅格法目前在路径规划中的环境建模应用比较广泛,栅格法作为路径规划方法很难解决复杂环境信息的问题,一般需要与其他智能算法相结合。
- Voronoi图:是一种关于空间邻近关系的一种基础数据结构。他是用一些被称为元素的基本图形来划分空间,以每两个点间的中垂线来确定元素的边,最终把整个空间划分为结构紧凑的voronoi图,而后运用算法对多边形的边所构成的路径网进行最优搜索。优点是把障碍物包围在元素中,能实现有效避障,缺点图的重绘比较费时,因而不适用于大型动态环境。
三、智能仿生算法
在未知动态环境下处理路径规划问题时,传统的算法已经无法满足路径规划问题,来自自然界的启示往往能起到很好的作用。
- 蚁群算法:该算法的思想来自于对蚁群觅食行为的探索,每个蚂蚁觅食时都会在走过的道路上留下一定浓度的信息素,相同时间内最短的路径上由于蚂蚁遍历的次数多而信息素浓度高,加上后来的蚂蚁在选择路径时会以信息素浓度为依据,起到正反馈作用,因此信息素浓度高的最短路径很快就会被发现。算法通过迭代来模拟蚁群觅食的行为达到目的。具有良好的全局优化能力、本质上的并行性、易于用计算机实现等优点,但计算量大、易陷入局部最优解,不过可通过加入精英蚁等方法改进。
- 神经网络算法:是人工智能领域中的一种非常优秀的算法,它主要模拟动物神经网络行为,进行分布式并行信息处理。神经网络是由很多的神经元联结而成的,然后通过反向传播,梯度下降修改神经网络中的参数。目前它在路径规划中的应用比较广泛,尤其是在复杂多变的环境中,由于神经网络具有优秀的学习能力,智能体能够自主学习,且其学习能力强鲁棒性好。
- 遗传算法:是当代人工智能科学的一个重要研究分支,是一种模拟达尔文遗传选择和自然淘汰的生物进化过程中的计算模型。它的思想源于生物遗传学和适者生存的自然规律,是按照基因遗传学原理而实现的一种迭代过程的搜索算法。最大的优点是易于与其他算法相结合,并充分发挥自身迭代的优势,缺点是运算效率不高,不如蚁群算法有先天优势,但其改进算法也是目前研究的热点。
- 粒子群算法:也是一种迭代算法,它模拟鸟群飞行捕食行为,和遗传算法相似,它也是从随机解出发,通过迭代寻找最优解,也是通过适应度来评价解的品质,但它比遗传算法规则更为简单,它没有遗传算法的“交叉”和“变异”操作,有记忆功能,它通过追随当前搜索到的最优值来寻找全局最优。具有算法简洁、易于实现、鲁棒性好、算法对种群大小不十分敏感"收敛速度快等优点,但易陷入局部最优解。
四、其他算法
- A*算法:是一种启发式搜索算法,通过设定合适的启发函数,全面评估各扩展搜索节点的代价值,通过比较各扩展节点代价值的大小,选择最有希望的点加以扩展,直到找到目标节点为止。优点是扩展节点少,鲁棒好,对环境信息反应快; 缺点是在实际应用中忽略了运动体自身的体积带来的节点限制,不过通过增加节点即可改进。
- Dijkstra算法:一种典型的最短路径算法,它是以起始点为中心向外层层扩展,直到扩展到终点为止,即通过所有节点的正向遍历比较得到最短路径!因为它是遍历完所有节点才得到最短路径,所以得到的最短路径成功率很高,鲁棒性也好; 但是遍历节点多,效率低是其运用于大型复杂路径拓扑网络时的致命缺点,此外,Dijkstra算法也不能处理有负边的问题。
总结
当前,移动机器人路径规划过于依赖环境模型,在某些恶劣环境下,机器人所处的环境可能有点复杂,并且周边的环境可能是动态的且多变。综合以上因素,移动机器人越来越需要有自主学习的能力,产生了Q-Learning算法,但是Q-Learning在决策时容易产生维数灾难问题,在路径规划问题上的效果不佳。随着深度学习的发展,将深度学习与强化学习相结合。充分利用深度学习的感知能力与强化学习的决策能力,利用深度学习对函数优秀的拟合能力去解决强化学习的策略问题,两者取长补短形成深度强化学习方法,深度强化学习算法就应运而生了。
Google的DeepMind团队在2013提出了第一个深度强化学习模型,DQN算法在Atari游戏中取得了巨大的成功,在某些方面,并超越了人类游戏水平。之后改进的DQN算法,如DoubleDQN,竞争网络等。在AlphaGo战胜了世界围棋冠军李世石之后,深度强化学习引起了广泛的关注,有些学者也开始考虑将深度强化学习算法应用于路径规划中。Lei Tai等人通过简单的传感器信息,将机器人所处位置坐标作为输入方式,输出为机器人的动作指令,利用深度强化学习的方法尝试解决移动机器人室内环境下的路径规划问题。
深度强化学习相对于之前的算法优势在于,我们无需依靠手动引导,只需要确定最终的目标。机器人通过与环境的交互,训练网络模型,从而获得更好的路径规划结果。