基于蚁群算法的机器人路径规划Ant Colony Algorithm
- 格式:docx
- 大小:41.33 KB
- 文档页数:6
基于蚁群算法的机器人路径规划摘要当前机器人朝着智能化的方向发展着,已经能够解决一些人类自身难以完成的任务。
机器人的研究方向分为好多个分支,其中机器人路径规划就是热点问题之一。
主要用于解决机器人在复杂环境下做出路径选择,完成相应任务的问题。
典型的路径规划问题是指在有障碍物的工作环境中,按照一定的评价标准(行走路线最短、所用时间最少等)为机器人寻找一条从起点到终点的运动路径,让机器人在运动过程中能安全、无碰撞地通过所有的障碍物。
基于蚁群算法的机器人路径规划的研究,利用仿真学的基本思想,根据生物蚂蚁协作和觅食的原理,建立人工蚁群系统。
本文介绍了使用基本蚁群算法和改进蚁群算法在机器人路径规划中的应用,以栅格法作为路径规划的环境模型建立方法。
其中改进蚁群算法依据最大最小蚂蚁系统原理和信息素奖励思想,还增加了其它启发信息来指导路径的搜索。
本文中介绍的基本蚁群算法应用蚁周模型对找到的路径进行信息素的更新,而在改进蚁群算法中,则综合使用了局部信息素更新原则和全局信息素更新原则。
另外在本文中介绍的改进蚁群算法使用了回退策略和落入陷阱时的信息素惩罚机制,帮助处理了蚂蚁在寻找路径过程中,落入陷阱后的问题。
不过改进后的蚁群算法的及时寻找到最优解的特性仍然有待于进一步的提高。
关键词:路径规划,蚁群算法,改进Path Planning for Robot Based on Ant ColonyAlgorithmAbstractNow robots are developing in the direction of intelligent, they have been able to solve some hard task as human beings do. Robot research has divide into the direction of large number of branches, where the robot path planning is one of hot issues. it is mainly used to solve the robot path in a complex environment to make choices, to complete the task. A typical path planning problem is that there are obstacles in the work environment, according to certain evaluation criteria (the shortest walking route, the minimum time spent, etc.) to find a robot's movement from origin to destination path, let the robot in motion of safe, collision-free through all the obstacles.Robot path planning research based on ant colony algorithm, is according to the simulation research, use the biological ant principles of feeding and cooperation and the establishment of artificial ant colony system. This article describes the use of basic ant colony algorithm and improved ant colony algorithm in robot path planning applications with using the grid method to establish the environment model of path planning. Improved ant colony algorithm is based on the maximum and minimum ant system theory and pheromone reward ideas. It has added other enlightening information to guide the path research. The basic ant colony algorithm described in this article uses the ant-cycle model to update the pheromone for the found path, in the improved ant colony algorithm, uses both the local pheromone updating principles and global pheromone updating the principles. Improved ant colony algorithm in this paper uses the fallback strategy, and the pheromone punishment mechanism when falling into trap to help deal with the ants in the process of finding a path falling into the trap. But the improved ant colony algorithm to find the optimal solution remains to be further improved in the optimal properties.Keywords: path planning, ant colony algorithm, improvedII目录第1章引言 (1)1.1问题的提出 (1)1.1.1研究的背景 (1)1.1.2研究的意义 (2)1.2本文研究路线 (3)1.2.1主要工作内容 (3)1.2.2目标 (3)1.3论文的主要内容 (3)第2章蚁群算法与机器人路径规划研究概述 (5)2.1蚁群算法和机器人路径规划的发展历史,现状,前景 (5)2.1.1蚁群算法的发展历史,现状,前景 (5)2.1.2移动机器人路径规划的发展历史,现状,前景 (6)2.2蚁群算法的特点 (7)2.2.1并行性 (7)2.2.2健壮性 (7)2.2.3 正反馈 (8)2.2.4局部收敛 (8)2.3基于蚁群算法的机器人路径规划实现的开发方式 (8)2.3.1开发语言的选择 (8)2.3.2开发工具的选择 (8)2.4蚁群算法介绍 (9)2.4.1 基本蚁群算法 (9)2.4.2 基本蚁群算法改进方案简介 (11)2.5机器人路径规划的环境模型建立 (11)2.5.1 栅格法 (11)2.6使用matlab仿真 (12)2.6.1 matlab仿真介绍 (12)2.7本章小结 (12)第3章基于蚁群算法的机器人路径规划分析与设计 (13)3.1基于蚁群算法的机器人路径规划需求设计 (13)3.2基于蚁群算法的机器人路径规划的要求 (13)3.3 主要的数据结构 (13)3.4基本蚁群算法实现机器人路径规划功能模块 (14)3.4.1程序入口模块 (14)3.4.2 算法运行的主体函数模块 (14)3.4.3 程序运行的清理模块 (15)3.4.4 下一步选择模块 (15)3.4.5 随机性选择模块 (16)3.4.6 路径处理和信息记录模块 (17)3.5 基本蚁群算法实现机器人路径规划整体逻辑设计 (17)3.5.1基本蚁群算法实现机器人路径规划整体结构图 (17)3.5.2基本蚁群算法实现机器人路径规划逻辑结构图 (19)3.6改进蚁群算法实现机器人路径规划功能模块 (20)3.6.1 程序运行环境处理修改部分 (20)3.6.2 下一步选择的修改部分 (20)3.6.3信息素更新和路径处理修改部分 (21)3.7 改进蚁群算法实现机器人路径规划整体逻辑设计 (22)3.7.1改进蚁群算法实现机器人路径规划整体结构图 (22)3.7.2改进蚁群算法实现机器人路径规划逻辑结构图 (23)3.8系统开发环境介绍 (24)3.8.1开发环境 (24)3.8.2调试环境 (24)3.8.3测试环境 (24)第4章基于蚁群算法的机器人路径规划的实现 (25)4.1基于基本蚁群算法的实现 (25)4.1.1算法运行的主体函数模块 (25)4.1.2 下一步选择模块 (26)4.2基于改进蚁群算法的实现 (27)4.2.1下一步选择模块 (28)4.2.2随机性选择模块 (29)4.3本章小结 (31)第5章基于蚁群算法实现机器人路径规划的仿真实验 (32)5.1运行环境 (32)5.2基于基本蚁群算法实现机器人路径规划仿真实验 (32)5.2.1 仿真步骤 (32)5.2.2 使用地图模型为5-1的仿真 (32)5.2.3 使用基本蚁群算法仿真结果 (33)IV5.2.4基于改进蚁群算法的仿真 (35)5.3 多次重复仿真实验记录 (36)5.4 本章小结 (37)第6章结论 (38)致谢 (39)参考文献 (40)基于蚁群算法的机器人路径规划第1章引言1.1问题的提出1.1.1研究的背景蚁群算法(ant colony optimization, ACO),又称蚂蚁算法,是一种用来在图中寻找优化路径的机率型算法。
基于改进蚁群算法的移动机器人路径规划方法移动机器人路径规划是指在给定环境中,通过合理的路径选择机制,使机器人能够从起始位置达到目标位置。
蚁群算法(Ant Colony Optimization,ACO)是一种仿生优化算法,通过模拟蚂蚁在寻找食物过程中的行为来解决组合优化问题。
本文将基于改进蚁群算法的移动机器人路径规划方法进行讨论。
首先,基本蚁群算法可以描述为:蚂蚁在过程中通过释放信息素来引导其他蚂蚁选择路径,蚂蚁选择路径的概率与路径上的信息素浓度有关。
因此,移动机器人路径规划可以将环境建模为一个图,图中的节点代表机器人可以经过的位置,边表示节点之间的连接关系,边上的信息素浓度表示该路径的选择概率。
然而,基本蚁群算法存在一些问题,如易陷入局部最优解、收敛速度慢等。
为了改进蚁群算法的性能,可以采取以下措施:1.引入启发式信息:在传统蚁群算法中,蚂蚁只通过信息素来选择路径,而没有考虑其他启发信息。
可以通过引入启发式信息,比如节点之间的距离、节点的拥挤程度等,来辅助蚂蚁选择路径。
启发式信息可以通过转化为边上的信息素浓度来体现,从而在路径选择过程中起到指导作用。
2.动态调整参数:传统蚁群算法中的参数,如信息素的挥发系数、信息素的增加量等,通常是固定的。
在移动机器人路径规划中,可以根据进程的需要,动态调整这些参数。
比如,可以根据过程中的信息素浓度变化情况来动态调整信息素的挥发系数,增强的全局性。
3.禁忌表策略:禁忌表策略是一种记忆性策略,通过记录已经过的路径信息,来避免蚂蚁陷入重复的情况。
在移动机器人路径规划中,可以采用禁忌表策略来记录已经探索过的路径,从而防止机器人陷入循环过程。
4.并行化计算:蚁群算法的过程涉及到大量的迭代计算,这些计算可以通过并行化来加速。
在移动机器人路径规划中,可以将蚁群算法的计算过程进行并行化处理,通过多个计算节点同时进行并交换信息,从而提高效率。
综上所述,基于改进蚁群算法的移动机器人路径规划方法可以引入启发式信息、动态调整参数、禁忌表策略和并行化计算来提高规划算法的性能。
基于蚁群算法的机器人路径规划李克东,刘国栋,任华(江南大学 通信与控制工程学院, 江苏 无锡 214122)摘要:针对移动机器人规避障碍和寻找最优路径问题,提出了在复杂环境下移动机器人的一种路径规划方法。
采用了栅格法建立了机器人工作平面的坐标系,整个系统由全局路径规划和局部避碰规划两部分组成。
在全局路径规划中,用改进蚁群算法规划出初步全局优化路径;局部避碰规划是在跟踪全局优化路径的过程中,通过基于滚动窗口的环境探测和碰撞预测,对动态障碍物实施有效的局部避碰策略,从而使机器人能够安全顺利的到达目标点。
仿真实验的结果表明了所述方法能在较短时间内找到最佳路径并规避障碍。
关键词:机器人路径规划;蚁群算法;全局路径规划;局部避碰策略中图分类号:TP202 文献标识码:APath Planning for Robots Based on Ant Colony AlgorithmLI Ke-dong ,LIU Guo-dong, REN Hua(College of Communication and Control Engineering ,JiangNan University ,Wuxi,214122,China) Abstract: The problems of obstacle avoidance and path planning of mobile robot are discussed.This paper presents a new approach to robot path planning under complex environment.Grid method is used to model the workspace.The whole system includes two parts:the global path planning and the local planning for obstacle avoidance.In the global path planning,an optimal route to the goal is found by ant colony algorithms;in the local planning for obstacle avoidance,while following the global path,several collision,free strategies for different situations are used after the environment detection and collision prediction based on rolling windows in order that the robot reaches the goal safely.The results of the simulation experiment indicate that the mobile robot can find the goal within the shortest path without the collision.Key words: robot path planning;ant colony algorithm;global path planning;local planning for obstacle avoidance1 引 言移动机器人路径规划问题是指在有障碍物的工作环境中,寻找一条从给定起始点到终止点的较优的运动路径,使机器人在运动过程中能安全、无碰撞地绕过所有障碍物,且所走路径最短。
基于蚁群算法的多移动机器人避障路径规划方法DOI :10.19557/ki.1001-9944.2021.01.009丁艳1,毕杨2(1.汉中职业技术学院机电工程系,汉中723000;2.西安航空学院电子工程学院,西安710077)摘要:为提高多移动机器人避障路径的规划能力,提出基于蚁群算法的多移动机器人避障路径规划方法。
结合小扰动解析方法构建多移动机器人运动学模型,根据运动学特征建立避障路径分布约束参数;通过自适应蒙特卡洛定位法进行故障定位;根据定位信息,结合蚁群算法进行多移动机器人避障路径规划寻优控制。
仿真结果表明,采用该方法进行多移动机器人避障路径规划的自适应寻优能力较好,机器人定位精度较高,提高了多移动机器人避障能力。
关键词:多移动机器人;避障;蚁群算法;路径规划;定位中图分类号:TP242文献标志码:A文章编号:1001⁃9944(2021)01⁃0036⁃05Obstacle Avoidance Path Planning Method for Multi ⁃mobile Robots Based on Ant Colony AlgorithmDING Yan 1,BI Yang 2(1.Department of Mechanical and Electrical Engineering ,Hanzhong Vocational and Technical College ,Hanzhong 723000,China ;2.School of Electronic Engineering ,Xi ’an Aeronautical University ,Xi ’an 710077,China )Abstract :In order to improve the obstacle avoidance path planning ability of multiple mobile robots ,an ant colony algorithm based path planning method for multi mobile robots is bined with small disturbance analysis method ,the kinematics model of multiple mobile robots is constructed ,and the distribution constraint parameters of obstacle avoidance path are established according to the kinematic characteristics.The fault location is carried out by adaptive Monte Carlo localization method.According to the location information ,combined with ant colony algorithm ,the obstacle avoidance path planning optimization control of multiple mobile robots is carried out.The simulation re ⁃sults show that the adaptive optimization ability of the method is better ,the robot positioning accuracy is higher ,andthe obstacle avoidance ability of multi mobile robots is improved.Key words :multi ⁃mobile robot ;obstacle avoidance ;ant colony algorithm ;path planning ;positioning收稿日期:2020-09-07;修订日期:2020-10-26基金项目:西安市科技计划科技创新引导项目(201805032YD10CG16(2));航空科学基金项目(201809T7001)作者简介:丁艳(1983—),女,硕士,讲师,研究方向为机器人控制理论;毕杨(1981—),女,博士,副教授,研究方向为信号与信息处理。
MATLAB 实现基于蚁群算法的机器人路径规划1、问题描述移动机器人路径规划是机器人学的一个重要研究领域。
它要求机器人依据某个或某些优化原则(如最小能量消耗,最短行走路线,最短行走时间等),在其工作空间中找到一条从起始状态到目标状态的能避开障碍物的最优路径。
机器人路径规划问题可以建模为一个有约束的优化问题,都要完成路径规划、定位和避障等任务。
2 算法理论蚁群算法(Ant Colony Algorithm ,ACA ),最初是由意大利学者Dorigo M. 博士于1991 年首次提出,其本质是一个复杂的智能系统,且具有较强的鲁棒性,优良的分布式计算机制等优点。
该算法经过十多年的发展,已被广大的科学研究人员应用于各种问题的研究,如旅行商问题,二次规划问题,生产调度问题等。
但是算法本身性能的评价等算法理论研究方面进展较慢。
Dorigo 提出了精英蚁群模型(EAS ),在这一模型中信息素更新按照得到当前最优解的蚂蚁所构造的解来进行,但这样的策略往往使进化变得缓慢,并不能取得较好的效果。
次年Dorigo 博士给出改进模型(ACS ),文中改进了转移概率模型,并且应用了全局搜索与局部搜索策略,来得进行深度搜索。
Stützle 与Hoos 给出了最大-最小蚂蚁系统(MAX-MINAS ),所谓最大-最小即是为信息素设定上限与下限,设定上限避免搜索陷入局部最优,设定下限鼓励深度搜索。
蚂蚁作为一个生物个体其自身的能力是十分有限的,比如蚂蚁个体是没有视觉的,蚂蚁自身体积又是那么渺小,但是由这些能力有限的蚂蚁组成的蚁群却可以做出超越个体蚂蚁能力的超常行为。
蚂蚁没有视觉却可以寻觅食物,蚂蚁体积渺小而蚁群却可以搬运比它们个体大十倍甚至百倍的昆虫。
这些都说明蚂蚁群体内部的某种机制使得它们具有了群体智能,可以做到蚂蚁个体无法实现的事情。
经过生物学家的长时间观察发现,蚂蚁是通过分泌于空间中的信息素进行信息交流,进而实现群体行为的。
论文题目:_ 基于蚁群算法的机器人路径规划系:__ 信息与机电工程系__专业年级:__ __学号:_____ _ _ _姓名:_________ _ _指导教师、职称:_ _2010年 5月 15 日R obot’s Path Planning Based onAnt Colony AlgorithmCollege:Specialty and Grade:Number:Name:Advisor:Submitted Time:目录摘要.........................................................................Abstract .....................................................................1 引言.......................................................................1.1 课题背景及意义.......................................................1.2 主要研究内容及关键问题...............................................1.3 论文结构.............................................................2 机器人路径规划概述.........................................................2.1 路径规划的定义.......................................................2.2 路径规划问题的分类...................................................2.3 环境建模.............................................................2.3.1 可视图法 ......................................................2.3.2 栅格法 ........................................................3 蚁群算法概述...............................................................3.1 蚁群算法的基本原理...................................................3.2 基本蚁群算法的数学模型...............................................3.2.1 对蚂蚁个体的抽象 ..............................................3.2.2 问题空间的描述 ................................................3.2.3 寻找路径的抽象 ................................................3.2.4 信息素挥发的抽象 ..............................................3.2.5 启发因子的引入 ................................................4 基于蚁群算法的机器人路径规划...............................................4.1 环境建模.............................................................4.2 算法的描述...........................................................4.3 算法的步骤...........................................................5 仿真实验及结果分析.........................................................5.1 仿真实验.............................................................5.2 结果分析.............................................................6 结束语..................................................................... 参考文献..................................................................... 致谢.........................................................................摘要移动机器人的研究开始于上个世纪60年代末期,是人工智能、机器入学、仿生学、控制理论和电子技术等多种技术学科交叉的产物。
蚁群算法及其在移动机器人路径规划中的应用剖析蚁群算法(Ant Colony algorithm)是一种模拟蚂蚁行为的启发式优化算法,其主要应用于解决组合优化问题,特别是在路径规划问题中的应用较为突出。
蚁群算法的基本原理是基于蚂蚁在寻找食物时的行为规律,当一只蚂蚁找到食物后,会释放一种称为信息素的物质,同时返回巢穴。
其他蚂蚁会根据信息素的浓度来选择路径,浓度高的路径被选择的概率较大。
当蚂蚁返回巢穴时,会根据所选择路径上的信息素浓度来增加信息素的浓度,从而在路径上留下更多的信息素。
随着时间的推移,信息素浓度逐渐增加,最终蚂蚁群体会逐渐聚集在较优的路径上。
移动机器人路径规划是指根据机器人的起点和终点,找到一条最优的路径。
在移动机器人路径规划中,蚁群算法可以解决多目标、多约束的路径规划问题。
下面将从问题建模、蚁群算法实现、实际应用等方面对蚁群算法在移动机器人路径规划中的应用进行剖析。
首先,对问题进行建模。
在移动机器人路径规划中,路径可以表示为有向图,图的节点表示机器人可以到达的位置,边表示连接两个位置的路径。
节点之间的距离可以是直线距离、时间、能耗等。
起始节点表示机器人的起点,终止节点表示机器人的目标。
路径规划的目标是找到一条从起始节点到终止节点的最短路径,同时尽可能满足约束条件。
其次,实现蚁群算法。
蚁群算法包括初始化信息素、蚂蚁的移动、信息素更新等步骤。
初始化信息素是指在路径上的每条边上设置初始信息素的浓度。
蚂蚁的移动过程中,每只蚂蚁根据信息素浓度和启发式函数来选择下一步移动的节点。
启发式函数可以根据节点和目标节点的距离、路径上信息素的浓度等因素来计算。
当蚂蚁到达终点后,根据蚂蚁的路径长度来更新路径上的信息素浓度,即路径长度越短的蚂蚁路径上的信息素浓度越高。
同时,为了防止信息素过快蒸发,可以引入信息素的挥发系数。
蚂蚁算法一般通过多次迭代来寻找最优的路径。
最后,应用蚁群算法进行路径规划。
蚁群算法在移动机器人路径规划中可以实现多目标、多约束的优化。
基于蚁群算法的移动机器人路径规划技术的研究刘杰闫清东北京理工大学机械与车辆工程学院 北京100081 摘要:针对静态复杂环境下移动机器人的全局路径规划问题,引入了蚁群算法,在分析了算法的基本原理以后,提出了适用于移动机器人的路径规划的改进方案,并通过计算机仿真实验,分析了算法中的参数对规划时间和最优路径等方面的影响,验证了改进的蚁群算法的有效性和实用性。
关键词:栅格地图;路径规划;蚁群算法 式中,叼。
(£)是能见1)和叼i,j(f)对整个概率 随着时间的推移,蚂1)=p*7I。
.,(t)十△丁;.,(t(4)蚂蚁寻找到食物勇q转到(2)。
(5)连立地图中的信崖路径的拐点坐标。
Mobile Robot Path Planning Technology Research Based on Ant Colony Optimization Abstract: For the global path planning of the mobile robot under the complex environment,this paper introduces an intelligent algorithm - Ant Colony Optimization (ACO). After analyzing the basic principles of the algorithm, this paper presents an improved method which is used to solve the mobile - robot' s path planning. In addition, by using the computer simulation production, this paper analyzes the impact of the algorithm parameters on the planning time and the best path, and testifies the effectiveness and practicality of advanced ACO as well.Key words: Raster Graphic; route planning; ant colony system。
基于混沌蚁群算法的机器人路径规划刘红霞;印文达;刘晓南【摘要】The navigation problem of robot movement in a complex environment is studied in the paper. Because the traditional ant colony algorithm is easy to drop into local optimum as searching the shortest path, a chaotic theory is embedded into the modified Version, which is used to improve individual quality. Chaos perturbation should be utilized to avoid the search being trapped in local optimum. A new Robot path planning is modeled, the ants change chaotic behavior to swarm intelligence by the effect of organizational variables. The simulation results indicate that the optimal path, which the robot moves on, can lead the robot to reach the end safely even in complicated environment.The effect is very satisfactory.%研究了全局静态复杂环境的机器人导航问题;针对传统蚁群极易陷入局部最优解,引入混沌理论改善个体质量,利用混沌扰动避免在搜索过程中陷入局部极值;构建了一个新的机器人路径规划算法的数学模型,在组织变量的影响下,蚂蚁由最初的混沌行为逐渐过渡为群体智能行为,最终完成机器人全局最优路往的搜索;仿真结果表明,即使在障碍物非常复杂的环境中,该模型也能找出一条全局最优或近似最优的路径,且能安全避障,仿真效果理想.【期刊名称】《计算机测量与控制》【年(卷),期】2011(019)005【总页数】3页(P1181-1183)【关键词】蚂蚁算法;混沌;导航;路径规划;最优路径【作者】刘红霞;印文达;刘晓南【作者单位】南京工业大学电子与信息工程学院,江苏,南京,210009;南京工业大学电子与信息工程学院,江苏,南京,210009;南京工业大学电子与信息工程学院,江苏,南京,210009【正文语种】中文【中图分类】TP242.60 引言路径规划是移动机器人学的核心问题之一,它是指移动机器人在有障碍物的工作环境中,依据某个或某些优化准则搜索一条从起点到目标点最优或近似最优的安全避障运动路径。
用ACO 算法求解机器人路径优化问题4.1 问题描述移动机器人路径规划是机器人学的一个重要研究领域。
它要求机器人依据某个或某些优化原则(如最小能量消耗,最短行走路线,最短行走时间等),在其工作空间中找到一条从起始状态到目标状态的能避开障碍物的最优路径。
机器人路径规划问题可以建模为一个有约束的优化问题,都要完成路径规划、定位和避障等任务。
4.2 算法理论蚁群算法(Ant Colony Algorithm,ACA),最初是由意大利学者Dorigo M. 博士于1991 年首次提出,其本质是一个复杂的智能系统,且具有较强的鲁棒性,优良的分布式计算机制等优点。
该算法经过十多年的发展,已被广大的科学研究人员应用于各种问题的研究,如旅行商问题,二次规划问题,生产调度问题等。
但是算法本身性能的评价等算法理论研究方面进展较慢。
Dorigo 提出了精英蚁群模型(EAS),在这一模型中信息素更新按照得到当前最优解的蚂蚁所构造的解来进行,但这样的策略往往使进化变得缓慢,并不能取得较好的效果。
次年Dorigo 博士在文献[30]中给出改进模型(ACS),文中改进了转移概率模型,并且应用了全局搜索与局部搜索策略,来得进行深度搜索。
Stützle 与Hoos给出了最大-最小蚂蚁系统(MAX-MINAS),所谓最大-最小即是为信息素设定上限与下限,设定上限避免搜索陷入局部最优,设定下限鼓励深度搜索。
蚂蚁作为一个生物个体其自身的能力是十分有限的,比如蚂蚁个体是没有视觉的,蚂蚁自身体积又是那么渺小,但是由这些能力有限的蚂蚁组成的蚁群却可以做出超越个体蚂蚁能力的超常行为。
蚂蚁没有视觉却可以寻觅食物,蚂蚁体积渺小而蚁群却可以搬运比它们个体大十倍甚至百倍的昆虫。
这些都说明蚂蚁群体内部的某种机制使得它们具有了群体智能,可以做到蚂蚁个体无法实现的事情。
经过生物学家的长时间观察发现,蚂蚁是通过分泌于空间中的信息素进行信息交流,进而实现群体行为的。
[收稿日期]2018-04-12[基金项目]中国石油大学胜利学院大学生创新创业训练计划项目(2016026)[作者简介]张晓玲(1982 ),女,山东潍坊人,中国石油大学胜利学院机械与控制工程学院讲师,硕士,主要从事机器人路径规划㊁工业过程故障诊断方法研究㊂doi :10.3969/j.issn.1673⁃5935.2018.02.012基于改进蚁群算法的机器人路径规划张晓玲,王正存,吴作君(中国石油大学胜利学院机械与控制工程学院,山东东营257061)[摘 要] 针对传统蚁群算法在解决机器人路径规划问题中存在收敛精度不高的情况,提出一种改进蚁群优化算法㊂该算法用栅格法对机器人运行环境建立地图模型,利用蚁群算法寻找移动路线,然后采用模拟退火算法,加入回火机制对搜索到的解进行处理,防止陷入局部最优,提高蚁群算法全局搜索能力㊂在MATLAB 软件上的仿真结果表明,相对传统的蚁群算法,改进的蚁群算法在机器人路径规划中能获得更优的路径㊂[关键词] 蚁群算法;模拟退火;路径规划[中图分类号]TP242 [文献标识码]A [文章编号]1673⁃5935(2018)02⁃0044⁃04 机器人路径规划问题是指,在已知机器人的起始和目的地坐标,明确环境信息条件下,找到一条能连接起始坐标和目的地坐标的最短路径㊂现有的机器人路径规划方法有蚁群算法(Ant Colony Algorithm,ACO )[1],神经网络算法[2],人工势场法[3],模拟退火算法[4]等㊂其中智能路径规划算法中的蚁群算法在机器人路径规划中被广泛应用㊂蚁群算法是由意大利学者M.Dorigo [5]在1991年提出的一种受自然界生物的自催化行为启发而产生的通用启发式进化算法㊂它采用正反馈机制㊁分布式计算方法,具有较强的优化能力和较强的鲁棒性[6],经常用来解决各种分布式环境下的组合优化问题㊂蚁群算法不足之处在于,寻优过程中当问题规模变大时,存在收敛精度变低问题㊂笔者采用改进的蚁群算法在搜索路径过程中,使用模拟退火算法迭代和蚁群算法进行搜索路径,利用回火条件,可以寻找到最优路径㊂1 机器人运行环境建模机器人路径规划首先需要对其运行环境或工作空间建模,考虑到栅格分解法具有精度高㊁方便实现等优点,因此选用栅格法对机器人环境进行划分㊂设机器人的工作环境为二维平面上的方格区域,起始坐标和目的地坐标分别表示为S 和T ㊂每个栅格采用经纬度坐标进行位置标示,并以地图左下角的栅格S 为机器人的起点,右上角栅格T 为机器人的目的地㊂采用序号法对图1中每一个栅格进行编号,其中黑色方块表示环境中的障碍物,并采用八叉树表示路径搜索方向㊂如果机器人在栅格地图上t 时刻所在的经纬度为L t (x t ,y t ),则在下一时刻的位置为L t +1(x t +1,y t +1),此次移动长度d t 为d t =2,x t +1=x t ±1且y t +1=y t ±1,1,x t +1=x t ±1或y t +1=y t ±1{.(1)假设从设置的起始点开始移动,要经过n 步到达所设目标终点,则此次所寻找路径的长度为D =∑nt =1d t .(2)用栅格法建立机器人的运行环境和工作空间模型后,下一步则需要结合合理有效的优化方法寻找所有路径中最短的路径㊂442018年6月中国石油大学胜利学院学报Jun.2018第32卷 第2期Journal of Shengli College China University of Petroleum Vol.32 No.2图1 栅格地图模型2 基于传统蚁群算法的路径规划2.1 蚁群觅食分析研究发现,每只蚂蚁觅食过程中在其行走路径上会留下一种为信息素的化学物质,一定范围内的其他蚂蚁能感觉到这种物质,且倾向于朝信息素浓度高的方向移动[7]㊂如果在某一条所走过的路径上被留下的信息素总量的浓度越高,则其他蚂蚁倾向选择这条路径的概率就会越大,因此有了信息素这种媒介物质,最终使得绝大多数蚂蚁选择最短的路径行走㊂2.2 基于传统蚁群算法的机器人路径规划步骤 步骤1:将算法中各类参数初始化,如蚁群中蚂蚁数量㊁最大迭代次数等;步骤2:在栅格地图初始化时,将机器人看做一只蚂蚁,蚂蚁运动时受到各路径上信息素浓度影响,根据每条路径上的信息浓度决定下一步方向㊂蚂蚁在t 时刻当前位置为i ,往位置j 移动的概率P ij (t )为P ij (t )=[τij (t )]α[ηij ]β∑k ∈allowed[τik (t )]α[ηik ]β,j ∈allowed ;0,其他ìîíïïïï.(3)式中,α,β为控制信息素和启发信息影响大小的参数;allowed 是可选的前进方向集合㊂步骤3:计算每个蚂蚁所产生的路径长度㊂步骤4:更新信息素浓度㊂τij (t +1)=ρτij (t )+Δτij (t ,t +1).(4)Δτij (t ,t +1)=∑mk =1Δτk ij (t ,t +1).(5)式中,τij (t +1)为在第t 次迭代时边ij 上的蚂蚁释放的信息素;ρ为信息素维持因子;Δτij (t ,t +1)为每个蚂蚁在某个边ij 上留下所产生信息素之和㊂步骤5:使所有蚂蚁执行步骤2,得到n 条路径,找出所有路径中最短的可行路径,并按式(4)更新信息素矩阵㊂步骤6:将当前迭代值与设定的最高迭代值进行比较,若超过限定值则终止循环迭代,否则回到步骤2,进入下一次迭代过程,直到满足该条件退出㊂3 基于改进蚁群算法的路径规划3.1 模拟退火算法模拟退火算法是对金属退火过程的模拟,先用高温将金属融化,然后逐渐冷却,直到形成良好的晶体结构,即进入一种具有最小能量的状态[8]㊂模拟退火算法也可用于路径规划算法以避免陷入局部最优㊂模拟退火算法迭代过程如下㊂第一步:某个温度T 下得到一个解(结合蚁群算法时,指用蚁群算法优化得到的解)㊂第二步:若当前温度T 下得到的解比前一时刻温度的解好,则采用这个新的解,否则转第三步㊂第三步:计算温度T 下接受劣解的概率㊂P =e dEkT .(6)其中,随机产生一个[0,1]区间的随机数X ,如果X <P ,那么接受这个劣解,转到第一步,否则放弃这个解,转到第一步㊂从P 的计算公式可以看到,随着温度T 的上升,P 的值是越来越小的,随着迭代的进行,接受劣解的概率下降,与自然界中晶体退火结晶的过程非常相似,从而实现了模拟退火算法㊂3.2 带回火的模拟退火-蚁群算法路径规划步骤 采用模拟退火-蚁群算法进行路径寻优时,加入回火,回火机制是指当温度低于设定回火下限温度时,温度慢慢升温到回火上限温度㊂回火本质上是在一段温度范围内反复循环降温过程,使得当前解不断得到优化,可以得到更好的解,消除快速降温时产生的局部最优[8]㊂因此带回火的模拟退火-蚁群算法的迭代步骤如下㊂步骤1:初始化算法中各类参数,如蚁群中蚂蚁的数量antnumber ,迭代次数maxgen ,冷却系数q ,初始温度T 0,回火温度下限T min ,回火温度上限T max ,54张晓玲,等:基于改进蚁群算法的机器人路径规划回火次数H max等㊂步骤2:设置蚁群算法的启发值和信息素浓度的初始大小进行模拟退火-蚁群算法的寻优㊂步骤3:进行蚂蚁搜索,设置起点并根据式(3)计算蚂蚁向各个方向移动的概率P ij,并根据概率公式移动到新位置后再进一步计算下一步移动的概率并移动,重复这个过程直到搜索到所设定的目的地或者找不到目的地直接退出㊂步骤4:计算目标函数,判断新路线是否优于原有路线,如果优于则接受新路线,转到步骤5;否则根据模拟退火机制按照式(6)计算接受较劣新线路(劣解)的概率,若概率满足条件则接受劣解,否则放弃㊂步骤5:根据式(4)㊁(5)进行信息素浓度更新,并更新温度(模拟退火冷却过程,温度逐渐降低),判断是否满足回火条件(回火次数未达到或者温度低于最小回火温度),满足则进行回火,回火次数自增1㊂步骤6:判断模拟退火算法迭代过程是否已经完成,若未完成则继续下一步迭代运算,相反,若完成则结束迭代循环㊂步骤7:输出结果,算法运行结束㊂4 仿真研究首先随机生成一个15×15的栅格地图仿真机器人路径搜索的运行环境,然后基于同一地图,分别运用传统蚁群算法和带回火的模拟退火-蚁群算法进行机器人路径规划的仿真研究,得到结果如图2 ~5所示㊂比较图2和图4的目标函数值(最优路径长度)可以看出,传统蚁群算法稳定在175左右,改进的带回火模拟退火-蚁群算法稳定在163左右㊂图3和图5的路径搜索线路也表明,相对传统的标准蚁群算法,本文提出改进后的优化方法查找到的移动路径明显更短㊂但通过观察图2和图4两种算法下的迭代次数,发现改进蚁群算法在迭代次数(63次)上稍逊于传统蚁群算法(57次)㊂为更合理地对比传统蚁群和改进蚁群算法,在不同大小的栅格地图上对两种算法进行多次仿真试验,结果如表1所示,分别记录了各自的迭代次数㊁最短路径值和平均运行时间㊂图2 传统蚁群算法优化过程图3 传统蚁群算法最优路径图4 改进蚁群算法优化过程64第32卷 中国石油大学胜利学院学报 2018年 第2期图5 改进蚁群算法最优路径表1 传统蚁群与改进蚁群算法在不同栅格地图环境下的对比栅格地图大小迭代次数传统算法改进算法最优路径长度传统算法改进算法运行时间/s传统算法改进算法11×114574165.8155.25.96.315×155763174.9163.214.914.420×205379191.2188.233.731.025×254759199.6182.682.880.630×307479200.0208.4195.0193.335×359196248.1208.7274.9257.040×407474222.7199.1452.1438.0对表1分析可得,改进算法在迭代次数上虽不占优势,略高于传统算法,但两种算法基于同一大小的栅格环境下实际运行时间相差无几,反而在栅格不断增多的情况下,改进算法的收敛速度要快于传统蚁群算法㊂从最优路径方面比较,除了在30×30大小的栅格地图上改进算法得到的最优路径相对传统算法稍长,其他结果均明显优于传统蚁群算法㊂因此,综合看来,在机器人寻找最优路径上,改进蚁群算法有一定的优越性㊂5 结束语针对基本的蚁群算法在解决移动机器人路径规划寻找最优搜索路径时存在收敛精度不够的问题,引入带回火的模拟退火原理处理蚁群算法得到的路径值,从而提出一种改进算法㊂最终的改进蚁群算法相比传统蚁群算法,具有更强的寻优能力,能够找到更好的机器人移动路径㊂[参考文献][1] LIM K K,YEW S O,LIM M H,et al.Hybrid ant colonyalgorithms for path planning in sparse graphs[J].SoftComputing,2008,12(10):981⁃994.[2] 魏冠伟,付梦印.基于神经网络的机器人路径规划算法[J].计算机仿真,2010,27(7):112⁃116.[3] 郑来芳,孙炜,欧阳明华,李飞.结合光流和人工势场的风管机器人避障方法[J].计算机工程与应用,2016,52(9):243⁃247 [4] 巩敦卫,曾现峰,张勇.基于改进模拟退火算法的机器人全局路径规划[J].系统仿真学报,2013,25(03):480⁃483. [5] COLORNI A,DORIGO M,MANIEZZO V,et al.Distributed op⁃timization by ant colonies[C]//Proceedings of European Conference onArtificial Life.Paris:Elsevier Publishing1991: 134⁃142.[6] 屈鸿,黄利伟,柯星.动态环境下基于改进蚁群算法的机器人路径规划研究[J].电子科技大学学报,2015,2:260⁃265 [7] BI X J,LUO G X.The improvement of ant colonyalgorithm basedon the inver⁃over operator[C]//IEEE International Conference onMechatronics and Automation.Harbin:IEEE Press,2007: 2383⁃2387.[8] 徐鹏.基于模拟退火算法的机器人路径规划与研究[J].科技广场,2011,1:42⁃44.[责任编辑] 董大伟74张晓玲,等:基于改进蚁群算法的机器人路径规划。
蚁群算法在移动机器人路径规划中的应用综述一、本文概述随着和机器人技术的快速发展,移动机器人的路径规划问题已成为研究热点。
路径规划是指在有障碍物的环境中寻找一条从起点到终点的安全、有效路径。
蚁群算法作为一种模拟自然界蚁群觅食行为的智能优化算法,因其出色的全局搜索能力和鲁棒性,在移动机器人路径规划领域得到了广泛应用。
本文旨在综述蚁群算法在移动机器人路径规划中的研究现状、应用实例以及未来发展趋势,以期为相关领域的研究者提供参考和借鉴。
本文首先介绍蚁群算法的基本原理和特点,然后分析其在移动机器人路径规划中的适用性。
接着,详细梳理蚁群算法在移动机器人路径规划中的应用案例,包括室内环境、室外环境以及复杂动态环境等不同场景下的应用。
本文还将讨论蚁群算法在路径规划中的优化策略,如参数调整、算法融合等。
总结蚁群算法在移动机器人路径规划中的优势与不足,并展望其未来的研究方向和发展趋势。
二、蚁群算法基本原理蚁群算法(Ant Colony Optimization, ACO)是一种模拟自然界蚂蚁觅食行为的优化算法,由意大利学者Marco Dorigo等人在1991年首次提出。
蚁群算法的基本原理是模拟蚂蚁在寻找食物过程中,通过信息素(pheromone)的释放和跟随来进行路径选择,最终找到从蚁穴到食物源的最短路径。
在算法中,每个蚂蚁都被视为一个智能体,能够在搜索空间中独立探索和选择路径。
蚁群算法的核心在于信息素的更新和挥发机制。
蚂蚁在选择路径时,会倾向于选择信息素浓度较高的路径,因为这意味着这条路径更可能是通向食物源的有效路径。
同时,蚂蚁在行走过程中会释放信息素,使得走过的路径上信息素浓度增加。
然而,随着时间的推移,信息素会逐渐挥发,这是为了避免算法陷入局部最优解。
在移动机器人路径规划问题中,蚁群算法可以被用来寻找从起点到终点的最优或近似最优路径。
将搜索空间映射为二维或三维的网格,每个网格节点代表一个可能的移动位置,而路径则由一系列节点组成。
基于蚁群算法的机器人路径规划说明:基于蚁群算法的机器人路径规划,使用网格离散化的方法对带有障碍物的环境建模,使用邻接矩阵存储该环境,使得问题转化为蚁群算法寻找最短路径。
使用网格离散化的方法对带有障碍物的环境建模,使用邻接矩阵存储该环境,使得问题转化为蚁群算法寻找最短路径。
% ACASP.m% 蚁群算法动态寻路算法% GreenSim团队原创作品,转载请注明% Email:greensim@%% ---------------------------------------------------------------% 输入参数列表% G 地形图为01矩阵,如果为1表示障碍物% Tau 初始信息素矩阵(认为前面的觅食活动中有残留的信息素)% K 迭代次数(指蚂蚁出动多少波)% M 蚂蚁个数(每一波蚂蚁有多少个)% S 起始点(最短路径的起始点)% E 终止点(最短路径的目的点)% Alpha 表征信息素重要程度的参数% Beta 表征启发式因子重要程度的参数% Rho 信息素蒸发系数% Q 信息素增加强度系数%% 输出参数列表% ROUTES 每一代的每一只蚂蚁的爬行路线% PL 每一代的每一只蚂蚁的爬行路线长度% Tau 输出动态修正过的信息素%% --------------------变量初始化----------------------------------%loadD=G2D(G);N=size(D,1);%N表示问题的规模(象素个数)MM=size(G,1);a=1;%小方格象素的边长Ex=a*(mod(E,MM)-0.5);%终止点横坐标if Ex==-0.5Ex=MM-0.5;endEy=a*(MM+0.5-ceil(E/MM));%终止点纵坐标Eta=zeros(1,N);%启发式信息,取为至目标点的直线距离的倒数%下面构造启发式信息矩阵for i=1:Nix=a*(mod(i,MM)-0.5);if ix==-0.5ix=MM-0.5;endiy=a*(MM+0.5-ceil(i/MM));if i~=EEta(1,i)=1/((ix-Ex)^2+(iy-Ey)^2)^0.5;elseEta(1,i)=100;endendROUTES=cell(K,M);%用细胞结构存储每一代的每一只蚂蚁的爬行路线PL=zeros(K,M);%用矩阵存储每一代的每一只蚂蚁的爬行路线长度%% -----------启动K轮蚂蚁觅食活动,每轮派出M只蚂蚁-------------------- for k=1:K%disp(k);for m=1:M%% 第一步:状态初始化W=S;%当前节点初始化为起始点Path=S;%爬行路线初始化PLkm=0;%爬行路线长度初始化TABUkm(S)=0;%已经在初始点了,因此要排除DD=D;%邻接矩阵初始化%% 第二步:下一步可以前往的节点DW=DD(W,:);DW1=find(DW<INF);for j=1:length(DW1)if TABUkm(DW1(j))==0endendLJD=find(DW<INF);%可选节点集Len_LJD=length(LJD);%可选节点的个数%% 觅食停止条件:蚂蚁未遇到食物或者陷入死胡同while W~=E&&Len_LJD>=1%% 第三步:转轮赌法选择下一步怎么走PP=zeros(1,Len_LJD);for i=1:Len_LJDendPP=PP/(sum(PP));%建立概率分布Pcum=cumsum(PP);Select=find(Pcum>=rand);to_visit=LJD(Select(1));%下一步将要前往的节点%% 第四步:状态更新和记录Path=[Path,to_visit];%路径增加PLkm=PLkm+DD(W,to_visit);%路径长度增加W=to_visit;%蚂蚁移到下一个节点for kk=1:Nif TABUkm(kk)==0DD(W,kk)=inf;DD(kk,W)=inf;endendTABUkm(W)=0;%已访问过的节点从禁忌表中删除DW=DD(W,:);LJD=find(DW<INF);%可选节点集Len_LJD=length(LJD);%可选节点的个数end%% 第五步:记下每一代每一只蚂蚁的觅食路线和路线长度ROUTES{k,m}=Path;if Path(end)==EPL(k,m)=PLkm;elsePL(k,m)=inf;endend%% 第六步:更新信息素Delta_Tau=zeros(N,N);%更新量初始化for m=1:Mif PL(k,m)<INFROUT=ROUTES{k,m};TS=length(ROUT)-1;%跳数PL_km=PL(k,m);for s=1:TSx=ROUT(s);y=ROUT(s+1);Delta_Tau(x,y)=Delta_Tau(x,y)+Q/PL_km;Delta_Tau(y,x)=Delta_Tau(y,x)+Q/PL_km;endendendTau=(1-Rho).*Tau+Delta_Tau;%信息素挥发一部分,新增加一部分end%% ---------------------------绘图--------------------------------plotif=0;%是否绘图的控制参数if plotif==1%绘收敛曲线meanPL=zeros(1,K);minPL=zeros(1,K);for i=1:KPLK=PL(i,:);Nonzero=find(PLK<INF);PLKPLK=PLK(Nonzero);meanPL(i)=mean(PLKPLK);minPL(i)=min(PLKPLK);endfigure(1)plot(minPL);hold onplot(meanPL);grid ontitle('收敛曲线(平均路径长度和最小路径长度)'); xlabel('迭代次数');ylabel('路径长度');%绘爬行图figure(2)axis([0,MM,0,MM])for i=1:MMfor j=1:MMif G(i,j)==1x1=j-1;y1=MM-i;x2=j;y2=MM-i;x3=j;y3=MM-i+1;x4=j-1;y4=MM-i+1;fill([x1,x2,x3,x4],[y1,y2,y3,y4],[0.2,0.2,0.2]);hold onelsex1=j-1;y1=MM-i;x2=j;y2=MM-i;x3=j;y3=MM-i+1;x4=j-1;y4=MM-i+1;fill([x1,x2,x3,x4],[y1,y2,y3,y4],[1,1,1]);hold onendendendhold onROUT=ROUTES{K,M};Rx=ROUT;Ry=ROUT;for ii=1:LENROUTRx(ii)=a*(mod(ROUT(ii),MM)-0.5);if Rx(ii)==-0.5Rx(ii)=MM-0.5;endRy(ii)=a*(MM+0.5-ceil(ROUT(ii)/MM));endplot(Rx,Ry)endplotif2=0;%绘各代蚂蚁爬行图if plotif2==1figure(3)axis([0,MM,0,MM])for i=1:MMfor j=1:MMif G(i,j)==1x1=j-1;y1=MM-i;x2=j;y2=MM-i;x4=j-1;y4=MM-i+1;fill([x1,x2,x3,x4],[y1,y2,y3,y4],[0.2,0.2,0.2]); hold onelsex1=j-1;y1=MM-i;x2=j;y2=MM-i;x3=j;y3=MM-i+1;x4=j-1;y4=MM-i+1;fill([x1,x2,x3,x4],[y1,y2,y3,y4],[1,1,1]);hold onendendendfor k=1:KPLK=PL(k,:);minPLK=min(PLK);pos=find(PLK==minPLK);m=pos(1);ROUT=ROUTES{k,m};LENROUT=length(ROUT);Rx=ROUT;Ry=ROUT;for ii=1:LENROUTRx(ii)=a*(mod(ROUT(ii),MM)-0.5);if Rx(ii)==-0.5Rx(ii)=MM-0.5;endRy(ii)=a*(MM+0.5-ceil(ROUT(ii)/MM));endplot(Rx,Ry) hold onend。