基于改进A星算法的仿生机器鱼全局路径规划.doc
《基于改进A星算法的仿生机器鱼全局路径规划.doc》由会员分享,可在线阅读,更多相关《基于改进A星算法的仿生机器鱼全局路径规划.doc(12页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、【精品文档】如有侵权,请联系网站删除,仅供学习与交流基于改进A星算法的仿生机器鱼全局路径规划.精品文档.基于改进A*算法的仿生机器鱼全局路径规划摘要:针对传统A*算法搜索速度慢和规划路径不够优化的缺点,引入可扩展节点,对A*算法流程进行改进,以减少时间和空间复杂度,提高搜索效率,并对规划路径进行优化处理,以有效的缩短路径。对存在凹形障碍物的地图,采用后退-尝试的方法解决路径规划的失败问题,使之绕过凹形障碍物取向目标点,达到输出最短路径的目标。关键词:仿生机器鱼 ;路径规划 ;A*算法 ;可扩展节点 ;凹形障碍物Improved A* Algorithm Based Global Path Pl
2、anning for Bio-mimetic Robotic FishAbstract: A* algorithm is improved to solve its low efficiency and non-optimal path. Introducing successor, the improved algorithm is simplified in its time and space complexity, and the planned path is optimized to make it shorter than before. Considering the conc
3、avity obstacles, the planning path may get stuck in concavity traps. A back-try method is given to solve the problem, is make the planning path round the trap instead of getting into it. Key words:bio-mimetic robotic fish;path planning;A * algorithm ; developed -nodes; concavity obstacle仿生机器鱼是模仿鱼类的游
4、动机理,并结合机械、电子等方面学科,实现能够进行水下推进的机器人。它具有机动性能好、噪声低、效率高、鲁棒性强等诸多优点。并在海洋勘探、水下考古、海洋生物观察、管道检测和娱乐等方面具有广泛应用。路径规划是仿生机器鱼应用领域一项重要研究内容,它是指在有障碍物的有限空间内,依据任务的实际需要,搜索出从起点到目标点的一条行走路径,让机器人在行走过程中安全、无碰撞的绕过所有障碍物到达目标点1。全局路径规划是基于环境信息全部已知情况下,依据某个或几个优化准则(如路径最短、时间最少等)来寻找全局最优路径。有多种全局路径规划算法,如蚁群算法、遗传算法、波形算法、神经网络算法和A*算法2。但是,神经网络算法的不
5、足之处是需要大量的训练数据,导致其收敛速度慢,搜索效率低,不可避免地存在局部极小和动态特性不够理想等;而遗传算法也有计算速度过慢,占用大量存储量空间、运算时间和搜索效率低等缺点。与前两种算法相比,A*算法具有以下两个优点:(1)可采纳性,即一种搜索算法能在有限的时间内终止,并能找到最优解,提高搜索效率;(2)单调性,对A*算法的估值函数加以适当的限制性条件,就可以使它对所扩展的一系列节点估值函数单调递增或非递减,从而减少对OPEN列表和CLOSE列表的检查和调整,从而提高搜索效率。 其A*搜索效率相对较高而且易于实现,因此得到广泛的应用。当环境障碍物较多时,特别是在存在凹形障碍物的情况下,由于
6、A*算法需要搜索的节点数增加,大大增加路径规划的时间代价并使路径变的更为曲折3。本文在环境信息全部已知的情况下对仿生机器鱼进行全局路径规划,针对传统A*算法搜索速度慢和规划路径不平滑等不足,先提出可扩展节点概念,再对传统的A*算法的流程进行改进,提高搜索效率,优化行走路径,并解决凹形障碍物中路径规划失败的问题。1 A*算法的改进1.1 A*算法的思想和算法流程A*算法是在广度搜索基础之上引入估值函数,每走一步都用这个估值函数对所有节点进行评估,通过比较从中找出最优节点,并将其命名为父节点,再从这个父节点搜索下一个节点直至到达目标点4。估值函数描述如下:f(n)=g(n)+h(n),要求启发函数
7、h(n)h*(n)。f(n)是从起点经过当前节点n到达目标点的全程路径代价预测值;g(n)是从起点到达当前节点n的路径代价的实际值;h(n)是从当前节点n到达目标路径代价的估计值;h*(n)是从当前节点n到达目标点的路径代价的实际值。f值最小的节点视为最优节点。传统的A*算法流程5如下:step1 初始化,生成一个OPEN 列表、一个CLOSED列表。step2 把起点加入OPEN列表,OPEN列表中仅包含起始节点,记f=h。step3 如果OPEN列表为空,则失败退出,否则进行Step 4。step4 遍历OPEN列表,查找f值最小的点为最佳节点(BESTNODE),将其移入CLOSED列表
8、,并把它作为当前节点。step5 判断当前节点是否为目标点。若是,则路径规划结束,并输出路径;否则将当前点的相邻点投入OPEN列表,进行step 3。step6 保存并输出CLOSED列表中的路径节点。1.2 可扩展节点1.2.1 定义可扩展节点定义:AB和AC为搜索路径上任意两条相连的线段,如果存在障碍物位于AB和AC小于或等于p的夹角的内部,则称顶点C为可扩展节点6,如图1所示。图1 、障碍物顶点间的夹角和障碍物的关系A*算法是在隐式上进行搜索,一边搜索一边建立新的节点。因此路径的建立和搜索同时进行,这样只有对路径规划有用的节点才被放入OPEN列表。在每次扩展节点时,所选节点是障碍物的顶点
9、并且是可扩展节点(根据定义),连接该节点和扩展子节点就是无碰撞路径。因此在所有的节点中,只有满足以上条件的节点才被选作扩展节点。这样每次需要计算的节点数大大减少,在A*算法中尤为显著,路径搜索效率按指数级别提高。1.2.2 分析时间复杂度在A*算法中,每次从当前节点开始扩展后续节点集的最坏时间复杂度为O(MN),N表示障碍物顶点的个数,M表示障碍物的个数。由于选择扩展节点与原节点的连线就是与所选扩展节点所在的障碍物的顶点相切的切线,从当前节点出发与一个凸多边形最多有两条切线,所选择的扩展节点的个数为O(M),因此计算从当前节点到每个扩展节点之间的线段是否是无碰撞路径的时间复杂度为O(MN)。(
10、同意修改)当引入可扩展节点后只有满足可扩展节点条件的节点才被移入OPEN列表,再判断当前节点是否在可扩展节点集中,减少了需要判断是否是无碰撞路径的节点的数量。从当前节点开始扩展后续节点的时间复杂度远远优于O(MN)。A*算法的时间复杂度主要取决于扩展节点的个数,当引入可扩展节点后,在所有的节点中满足可扩展节点条件的节点数和以前相比就变的非常少了,进而大大提高A*算法的路径规划效率,如图2所示。图2(a)无可扩展节点限制的搜索图 图2(b)有可扩展节点条件限制的搜索图图2 可扩展节点图2(a)是在无扩展节点限制条件下的搜索图,图2(b)是在可扩展节点限制条件下的搜索图,从图2中可以明显的看出,当
11、引入可扩展节点后,搜索的节点数少于无可扩展节点限制条件下的节点数。由A*算法的特征可知,在环境越复杂的情况下,这种搜索效率提高的越明显。2 改进的A*算法改进后的A*算法步骤如下:step1 初始化,生成一个OPEN 列表、一个CLOSED列表,标记所有节点的OPEN值为0,记f=h。step2 把起始节点加入OPEN列表,标记该节点的OPEN值为1(表示该点曾加入过OPEN列表),记为OLD,重复以下过程,直至找到目标节点;若OPEN 列表为空,则宣告失败。step3 如果OPEN列表为空,记下当前节点为死点,即此点无法通过。若起始点为死点,则路径规划失败退出,否则将此死点的父节点置为当前节
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 改进 算法 仿生 机器 全局 路径 规划
限制150内