机器人路径规划的蚁群算法设计与Word格式文档下载.docx
- 文档编号:17779184
- 上传时间:2022-12-10
- 格式:DOCX
- 页数:31
- 大小:801.46KB
机器人路径规划的蚁群算法设计与Word格式文档下载.docx
《机器人路径规划的蚁群算法设计与Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《机器人路径规划的蚁群算法设计与Word格式文档下载.docx(31页珍藏版)》请在冰豆网上搜索。
机器人;
路径规划
ABSTRACT
Robotrobotpathplanningreferstoanoptimalpathfromtheinitialstatetoatargetstateorapproximateoptimalpathwithouttouchingthesearchpathaccordingtoaperformanceindex,whichisoneofthebasicrobotcontrolandnavigation.Thisarticleisbasedonantcolonyalgorithmforrobotoptimalpathplanningmethods.Buildarobotpathplanningbasedonthismodel,andsimulationbyMATLAB.Thesimulationresultsshowtheeffectivenessofthealgorithm,evenincomplexgeographicalobstacles,usingthealgorithmcanquicklyworkouttheoptimalpath.
Keywords:
antcolonyoptimizatio;
robot;
pathplanning
1绪论
自然界中,我们总是可以发现蚂蚁所发现的食物总是随机的出现在巢穴附近。
经过仔细的观察,我们就可以发现,过了一段时间,蚂蚁们就能找到食物,而且它们从巢穴对食物源之间的路段总是最短的。
蚂蚁虽小,且个体能力有限,但是通过分工、合作,它们可以完成不论那个蚂蚁都无法独自完成的复杂工作,例如蚂蚁在寻找食物的进程中,他们通过相互协同工作,总是能找到一条从食物到自己巢穴的相对最短路段。
在现实自然生活中,我们可以通过观察,就会发现几乎所有的蚂蚁所走过的食物到自己巢穴的路线都近似于一条直线,而不是什么曲线等其他形状的线或者图形。
蚂蚁这种群体虽然个小,但是不仅能完成比较复杂的工作,而且还能很快的适应环境的变化,比如突然出现在蚂蚁去向的路径上的障碍物,一开始各只蚂蚁行走的分布是均匀的,不管是路线的长与短,蚂蚁总是会按照同等概率选择各自要走的路径,在蚂蚁行走进程中,凡是蚂蚁所经过的地方都会留下一种物质,并且能感知这种信息素的存在以及它的强度,并通过此信息素来指导自己行走的方向,它们会朝着信息素浓度较高的方向移动。
在同等时间内,较短路径上的信息素的量遗留得越多,则会选择行走较短路径蚂蚁的数量也就会越大。
显而易见,由于大多数蚂蚁的集体活动表现出一种信息的正反馈现象,就是某一路径上行走过的蚂蚁数越多,则后来的蚂蚁选择信息素浓度大的路径的概率就越大,蚁群通过这种信息素进行信息交流,并凭借此来寻找食物,所走的路段总是最短的路段。
1989年著名的“双桥”实验,就表明了:
从蚂蚁的蚁巢到食物目的地的最短的路线总谁是蚂蚁种群的最终选择。
意大利学家根据蚂蚁的“寻找食物”的这一群体活动的现象,在1999年,在人工生命会议上提出了有关蚁群算法的基本模型;
第二年,蚁群算法的主要核心思想,又被意大利学家进一步的阐明了。
蚁群算法源于蚂蚁寻找食物的活动而被提出的。
在蚁群算法中,该算法的最基本单元就是蚂蚁个体本身。
蚂蚁所拥有的知识来源于其他蚂蚁信息以及对周边的认识,因此,知识的积累是蚂蚁个体的一个动态进程。
蚂蚁个体通过随机决策和相互协调自适应的做出并完成自身的评价,蚁群算法所研究的焦点就是这种蚂蚁个体之间的分布性和协作性。
很强的自学习本领是蚁群算法所具有的,它可根据情况的改变和已产生的活动对自身的知识库或组织布局进行再组织,进而达到算法求解能力的加强,恰是算法自身学习本领与情况变化的相互作用孕育了这类进化,同时该算法的不可预测性也由环境变化的不确定性与算法机理的复杂性的影响而加强了。
自1991年来,DorigoM等学家提出蚁群算法后的近5年内,该算法在国际学术界并没有引起广泛关注,也没有取得任何突破的进展。
直到了1996年,DorigoM等本身在《IEEETransactionsonSystems,Man,andCybennetics-PatrB》上发表了“Antsystems:
optimizationbyacolonyofcooperationagents”一文,在文中,DorigoM等学家不仅更加详细的说明了蚁群算法的基本原理和数学模型,还将蚁群算法与多种算法进行仿真实验并进行系统详细的比较,且对蚁群算法中的初始化参数对其机能评估的影响做了初步探究,这是蚁群算法发展历史上的又一篇奠基性作品。
从已经公开发表的有关蚁群算法的文章来说,其中大部分的论文都将这篇章或者DorigoM在1991年发表的“distributedoptimizationbyantcolonies”一文用来当作参考的文献。
然而持续高涨的对蚁群算法的研究热情,直接导致了在国际上,首届蚁群算法探讨会的召开,地点就在当时的比利时布鲁塞尔,这场会议组织负责人就是蚁群算法的创始人DorigoM。
第一届探讨会就吸引了50多位研究者,他们都是来自五湖四海的研究蚁群算法的爱好者,随后每三年,蚁群算法探讨会都会在在布鲁塞尔被召开一次,历届的论文集都是由著名的《LectureNotesincomputerscience》收集再出版。
2000年,在《nature》上出现了一篇关于蚁群算法的综述,该篇文章就是由dorigom和bonabeauE等学家所发表的。
经过此次文章发表之后,对蚁群算法的这一领域的研究,成为了国际学术界的前沿课题。
21世纪后的几年里,蚁群算法不断的出现颇硕的研究成果,顶级学术刊物《nature》又多次对这些研究成果进行了特别的报道,《Futuregenerationcomputersystems》和《IEEEtransactionsonevolutionarycomputation》
也相继的出版了有关该算法的特别刊登。
现在,在许多学术期刊和会议上包括国内以及国外的,蚁群算法已经成为了研究热点,深受广大研究者的关注。
对于收敛性的证明,是由Gutiahrwj证明的,他所发表的两篇学术论文同样对算法发展的历史上有着独特的作用。
Gutjahrwj用有向图的行走来比作蚁群的这一活动
,并从有向图的角度分析,对于一种能改进收敛性展开了详细的理论分析证明了在合理充分的假设理想条件下,所要求问题的最优解答能被GBAS能以一定的概率收敛而得到。
对蚁群算法的钻研,我国算是起步较晚,从曾经公开公布的文章的时间来看,在国内,东北大学的张纪会与徐心和是研究蚁群算法的先驱研究者。
在国内众多研究蚁群算法的研究者中,最令人惊讶的是年仅17岁的高二学生陈桦在2001年在《计算机工程》这书上发表了“带杂交算子的蚁群算法”一文,并通过VisualBasic开发了一个功能全、界面好的“蚁群算法实验室”,受到了业界广大蚁群算法爱好者以及研究者的热烈关注,就像《计算机工程》“编者按”所说那样:
“一个高中生能写出这样的论文实属不易”。
回首蚁群算法从创立到现在的发展历史,研究者对蚁群算法这一算法的研究已由单一的TSP领域拓展到多个领域。
由一维静态优化转变到多维动态组合优化,由离散域范围到连续域范围,以及基于蚁群算法的硬件,在实现上也取得了突破性的进展,同时对蚁群算法的模型的改进及与其他仿生优化算法的相应融合也取得了颇富的研究成果,使的这种仿生算法展现出未曾有过的生机,并已经成为一种完全可媲美遗传算法的仿生算法。
2蚁群算法
2.1基本蚁群算法的原理
人们根据大自然的蚂蚁觅食这一行为,模拟出了蚁群算法,该算法具有正反馈、并行性、适应环境的特点。
仿生学家从长期的研究中发现:
蚂蚁虽然没有视觉,但是它们在移动过程中,会在路上释放一种特别的分泌物(信息素),并依据该种信息素来辨别所要行走的方向。
当它们来到一个未曾走的路口时,他们会随机的选择一条路前进,并在所走的路上释放信息素,该信息时与所走的路段的长短有关,路段越长,信息素的释放量就会越小。
当后来的蚂蚁走到这个交叉路口时,信息素浓度较高的路被选择的可能性较高,正反馈就在这是形成了。
此后,最有路段上的信息素就会越来越大,而其他路段上的信息素则会慢慢减小,这样,最优路段就会被整个蚁群发现。
由此可见,在寻找路径的整个进程,虽然单个蚂蚁本身选择路径的能力有限的,但是通过所释放的信息素的反馈作用,使得蚁群的群体活动具有很高的自组织性,蚂蚁间通过交换各自路径信息,蚁群最终通过群体的自催化活动找到了最优的路径。
通过模拟蚂蚁的活动而得到的蚁群算法,是以新的计算机模式来引入的,基于以下假设:
蚂蚁们凭借一种分泌物(信息素)来达到与环境进行交流的目的,每只蚂蚁根据自身周边环境作出反应,也只能对其本身周围的环境有所作用。
蚂蚁自身内部决定了蚂蚁对环境的而做出回应。
它是基因生物体,蚂蚁自身的行为实际上就是基因对环境适应性的表现,是一种反应适应性的生物主体。
就个体而言,蚂蚁仅根据自身周边环境做出选择;
而对群体而言,单只蚂蚁的行为是随机的,但是群体的行为可凭借系统的自组织性来形成高度有序的集体行为。
由上可见,蚁群算法的寻求最优解机制包含两阶段:
适应阶段、协作阶段。
适应阶段,各种解依据堆积的信息来调整自身的结构,在路线上,走的蚂蚁越多,信息量越大,被选择的可能性就越大,时间长了,信息量就减小;
合作阶段,各种解通过信息交流,然后产生更好的解。
蚁群算法属于智能的、多主体的系统,自组织使得蚁群算法简便易用,不需要对所要求的解的各个方面都有所了解。
自组织属于动态型,在没有外界的干扰作用下,可使得系统熵增加,表现出由无序到有序的变化过程。
用规范的格式来使组合优化问题规范化,运用蚁群算法的“探索”和“利用”,依据信息素这载体决定决策点,与此同时按照信息是更新规则对每只蚂蚁的信息素进行增量构建,从整体的角度规划出整个蚁群的动向,反复进行,就可以求的最优解。
2.2蚁群算法的系统学特征
系统学是门比较新的学科,其特点是强调整体性。
不同的学科的研究重点和范围有区别,所以对系统的也是因此而异。
在基础层次,创始人给定的定义是:
“系统为处于一定关系中并和环境的各组成部分的综合体”。
该定义更精确的表述是:
如果对象S满足下面条件:
S中至少包含两个有区别的对象,S中的对象按照一定的方式关系到在一起,则可以称S为一个系统,S中的个体为系统的元素。
自然界的蚁群恰好具备了系统的三个特征,相关性、多元性和整体性,就是一个完整的系统。
在这个系统中,各个蚂蚁本身的各自活动就是系统的组成元素,系统的相关性则体现在蚂蚁个体之间的相互影响关系,而系统的完整性则由蚁群可完成蚂蚁个体间完成不了的工作的这样现象体现出来,从而显现出系统整体大于部分之和的特性原理。
蚁群算法作为蚂蚁群体寻找食物这一活动的抽象算法,如果视蚁群算法本身为一个系统、一个整体,那么就会发现该算法就符合了系统的三个基本特征,这是仿生优化选法重要特征之一。
对传统算法而言,比如求无约束的解析法,由于算法各部分之和等于最终和,因此不能看作一个系统。
而蚁群算法,整体远好于个体之和,无加和性,因此蚁群算法是一个系统。
作为系统,它还具备了一些更为重要的特征,使得它具有了更加深刻的研究意义。
自然界的蚁群活动具备了分布式。
如果蚁群要完成某项工作时,大部分蚂蚁凭借共同目的来完成工作,不会因为某个蚂蚁的缺失而使得整个工作终止。
作为蚂蚁觅食行为的抽象算法,蚁群算法也表现出分布式特征。
每只人工蚂蚁在空间问题的多个点上,一同开始构造问题解,而求解过程是不会因为某只人工蚂蚁无法获得解而受到影响。
自组织也是蚁群算法的重要特征。
自组织是随着系统学的发展而建立的。
通常分为自组织、他组织。
其区别是在于组织力或组织指令是源于内部还是外部,源于内部称为自组织,源于外部则为他组织。
自组织是系统在获得时间上的、空间上的或者功能上的结构进程中,不受到外界的特定干预的。
生物体就是典型的自组织系统,类似蚂蚁、蜜蜂这类昆虫,个体本身作用简单,但是个体之间的协作的作用尤其明显,因而就把它们视为一个整体来探究,甚至是独立完整的生物体。
在这类群落中,个体相互作用,共同完成某项指标的工作,自然就体现出较强的自组织的特殊性质。
而从抽象意义上来说,如果没有外界的作用影响,系统熵有所增长的进程就是所谓的自组织。
基本的蚁群算法就正好体现了这一进程。
自组织使得算法的鲁棒性得到了增强,传统算法是针对某一问题设的,这是建立在对该问题有了全面认识的基础上,所以很难适应其他类型的问题,而相对自组织的蚁群算法来说,就不需要对所要求的问题的各个方面都要有所认识了解,比较容易使用到这一类问题之中。
控制理论中的另一个的重要概念就是反馈,它代表着信息输出受到着信息输入的影响。
在系统学上认为,反馈就是现在的作为对未来的活动的起到影响的原因。
有正反馈、负反馈之分,前者是通过现在活动来加强未来活动,而后者则是通过以现在活动去消弱未来活动。
由真实的自然界的蚂蚁寻找食物活动可见,蚂蚁最终能找到最短路径,是因为在最短路径上的信息素的积累,而这是个正反馈进程。
对蚁群算法而言,起初蚂蚁在环境中信息素的释放量是相同的,产生了微小扰动,使得各边的信息量不同,构造的解就存在了好坏之分。
算法采用的反馈方式,是在较优解的路段留下更多信息素,这样又吸引更多的蚂蚁,这进程正是正反馈进程,使得初始值不断扩大,同时促使系统向最优解的方向进行。
系统的自组织是无法靠单一的正反馈或者负反馈来实现的。
利用正、负两种反馈的结合,以达到系统的自我创造和自我更新的目的。
负反馈机制同样存在蚁群算法中,它主要体现在概率搜索技术,蚁群算法在寻求解的进程中会使用到概率搜索技术,通过该技术而生成解的随机性大大增长。
随机性的影响在于接受一定程度上的退化,使得在一段时间内,搜索范围保持足够大。
这样就使得正反馈的搜索范围减小,从而保证了算法是朝着最优解答的方向前进,而负反馈则使得搜索范围保持不变,从而避免了算法的过早收敛于不佳的结果。
正是由于正负反馈的共同影响下,使得蚁群算法可以以自组织形式进化,从而寻得问题在一定方向上的最优解答。
以上是从系统科学的观点出发,分析了蚁群算法的基本原理,由此可见,蚁群算法这类仿生算法体现出许多异于其他的常规算法的新思路,当然,基本蚁群算法的研究意义所在之处就是此点。
2.3蚁群算法的优点
研究表明,蚁群算法具有较强的能找到更优解的能力,这不仅是因为该算法具有正反馈原理,一定程度上,可加速进化进程,而且是个天生的并行算法,具有以下优点:
(1)通用性。
它可用于解同类型的优化问题,从TSP问题到ATSP只需作直接
(2)扩展即可实现。
(3)鲁棒性。
很小的改动,就可用于解其他组合优化问题。
(4)群体性。
这是一种基于群体的方法很有趣,因为它允许采用正反馈作为搜索机制。
(5)并行性。
适用于并行操作,在求解大规模优化问题时,可从算法本身的优化出发来提高求解效率,也可从算法的执行模式出发来进行研究。
3机器人路径规划的蚁群算法设计
3.1机器人路径规划问题
机器人是一种具有高度灵活性的自动化的机器,与其他不同的是这种机器具备人或者生物相类似的智能能力,如感知能力、规划能力、动作能力、和协同能力等等。
机器人技术是20世纪人类最伟大的发明之一,到现在经历了40余年的发展历史。
机器人路径规划是指机器人按照某一性能指标或者某一要求,寻找到一条从初状态到末状态的最优或者近似于最优的无碰撞进程的路径,这也是达成机器人控制以及导航的基础。
机器人的路径规划,一般可分为局部规划以及全局规划这两类。
多个机器人系统是一个分布式的系统,该系统结构松散,但是其优点在于既可独立工作,又可以根据需要进行协作工作。
在未知的任务、未知的环境下,确定哪些任务需要多个机器人协作完成,是一个重要而艰巨的问题。
3.2蚁群算法的流程设计
如果把森林中的入口、出口用来表示出发点、目的地,把机器人所经过的路线表示为弧,把森林中的湖、山峰等属性表示为障碍物,就可以被抽象成为一个带权的有向图。
给定一个带权的有向图G=(U,{E}),其中V是包含n个节点的节点集,E是包含h条弧的弧集,<
i,J>
是E中从节点i至J的弧,是弧<
的非负权值。
设s,t分别为U中的出发点和目的地,则所谓的路径规划问题其实就是指在带有权的有向图G中,寻找从所指定的出发点s到目的地t的一条具有最小权值的总和的路径。
给定个有n个节点的森林的路径规划问题,把指定的出发点s进行假设为人工蚁群(下面统称为蚁群)的巢穴,把目的地t假设为要寻找的食物源,那么这个路径规划问题随即就可以转化为简单的蚁群寻找食物的寻优路径问题了。
假设给定的人工蚂蚁(下面统称为蚂蚁)的数量为m只,那么每只蚂蚁个体的活动就需要适合以下的规则:
(1)蚂蚁能够释放两类信息素,即“食物”类信息素与“巢穴”类信息素;
(2)据当前节点信息素的浓度以及路径长度,然后随机性的选取下一节点;
(3)蚂蚁所走过的不再选择,不会做为下一节点,这个可以通过结构数组功能来实现;
(4)蚂蚁在觅食时,通过先前所释放的“食物”类信息来找下一节点,并且同时释放“巢穴”类信息素,
(5)在找巢穴时,通过先前所释放的“巢穴”类信息素来寻找下一节点,与此同时就要释放“食物”类相应信息素;
(6)根据所走路径的长度释放来所对应的信息素的浓度,信息素的释放会随时间而逐渐减少,用
来表示t时刻,此时路径(i,j)上的所积累的信息素的浓度,则f+1时刻所积累的信息素的浓度为:
(式1)
(式2)
:
信息素的挥发系数,
1一
信息素的残留因子,
值越大则表示信息素挥发的比较慢,反之就会越快。
值越大则表示示信息素挥发的就越慢,反之就会越快。
为了防止无限积累,
的范围为:
表示信息素在此次循环中的路径(i,j)上的增量,初始时刻
=0,
表示第k只蚂蚁此次在路径(i,j)上循环中释放出的信息量。
这里采用ant-quantity来实现
的算法,
,若在t和£+1之间,第k只蚂蚁经过(i,j)(式3)
其中,Q为常量,表示每只蚂蚁所释放出的信息素总量,
表示从节点i到节点J这两点之间的路线长度。
定义:
在t时刻,位于节点i上的,第j只蚂蚁选取节点J为下一个目标节点的转移概率为
。
(式4)
表示蚂蚁k下一步准许选取的城市;
为信息启发式的因子,所表示的是轨迹的重要性;
为期望启发式的因子,所表示的是能见度的重要性;
为启发函数,表达式如下:
表示相邻两个点之间的距离。
对蚂蚁k而言,
越小,则
越大,也就
越大。
参数的最佳数值由实验来决定。
求解步骤:
(1)在初始时刻,蚂蚁种群产生移动路径。
(2)调整信息素:
对所产生的可移动路径,计算路径长度,计算所对应信息素的变量,利用信息素更新公式,对路线上的各个点所相对应的信息素进行更新。
(3)对产生的可行的路径进行修正处理:
将蚂蚁所经过的弯曲的、不规则的路径变换拉直为一条有直线段相连接的可行的路径,将可行路径和目前已经记录的最短的路径进行比较分析,如果该路径的长度相对更短,那么就将该路径作为最短路径,然后对所有路径上的所有的节点的信息素进行跟新,按照第
(2)步的方法进行更新。
如果当前就已经达到了预先已经设定的终止时刻,那么则跳转到第(5)步。
(4)下一时间路径的生成:
在信息和基于过渡态的概率的概率使用当前的距离启发式信息,产生从初始状态到一个可行的路径树的状态,然后就跳转到第
(2)步。
(5)算法结束:
将当前的最优路径作为输出。
3.3蚁群算法实现
3.3.1主程序模块
clear
loaddata1
[ROUTES,PL,Tau]=ACASP(G,ones(400,400),50,30,1,400,1,15,0.95,1)%data1
%loaddata2
%[ROUTES,PL,Tau]=ACASP(G,ones(1024,1024),50,30,65,1019,1,15,0.95,1)%data2
%[ROUTES,PL,Tau]=ACASP(G,ones(1024,1024),50,30,65,1019,1,15,0.95,1)%data3
3.3.2初始化模块
function[ROUTES,PL,Tau]=ACASP(G,Tau,K,M,S,E,Alpha,Beta,Rho,Q)
%%---------------------------------------------------------------
%ACASP.m
%ACSforPathPlanning
%inputparameters
%Ggragh,whichis01matrix,1representsobstcles
%Tauinitialpheromonematrix初始信息素矩阵
%Kiterativetimes迭代次数(指蚂蚁出动多少波)
%Mantnumberforonceiteration蚂蚁个数(每一波蚂蚁有多少个)
%SStartPoint
%EGoalpoint
%Alphaparameterindicatestheimportanceofpheromone表征信息素重要程度的参数
%Betaparameterindicatestheimportanceofvisibility表征启发式因子重要程度的参数
%Rhopheromoneevaporationrate信息素蒸发系数
%Qpheromoneaccumulationparameter信息素增长强度系数
%
%outputparameters
%ROUTEStheroutethateveryantineveryiteration
%passes
%PLthelengththateveryantineveryiteration
%Tauoutputupdatedpheromone输出动态修正过的信息素
%%--------------------variableinitialization-----------------------------
D=G2D(G);
N=size(D,1);
%Nisthepeoblemscale(pixelnumber)
MM=size(G,1)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 机器人 路径 规划 算法 设计