基于蚁群算法的自由飞行空间机器人路径规划
- 格式:pdf
- 大小:335.52 KB
- 文档页数:4
基于蚁群算法的无人机航线规划技术研究无人机技术的快速发展,为航空监测、农业、森林灾害预防等领域提供了新的技术手段。
与传统有人驾驶的飞行器不同,无人机不需要驾驶员操控,在高风险、高危环境下作业更为安全,并且操作更加灵活。
然而,无人机的航线规划技术是无人机实际应用当中必不可少的一个环节。
本文主要介绍了利用蚁群算法优化无人机航线规划的研究现状及未来发展方向。
一、无人机航线规划技术研究的现状无人机航线规划技术是指无人机执行任务时,通过规划无人机的飞行路线,使得无人机能够在预定时间内完成任务。
在无人机的飞行路线规划中,需要考虑多种因素,如起始点、终止点、路径限制、空间复杂度等。
当前,基于蚁群算法的无人机航线规划技术已经得到了广泛的应用。
蚁群算法源于自然界中蚂蚁的行为模式,这种算法模拟了蚂蚁在寻找食物时的行为,通过蚂蚁寻找最短路径的探索和信息传递的方式来解决问题。
在无人机航线规划中,蚁群算法通过模拟蚂蚁寻找食物的过程,从而寻找最优航线。
当前,国内外相关研究机构和企业对无人机航线规划技术的研究取得了一定的进展。
例如,普渡大学计算机科学系利用改进的蚁群算法设计了一个自适应无人机航线规划算法,该算法结合了图像处理和权重排序技术,可以应对无人机任务规模的变化。
L.A. Ismagilova等人利用蚁群算法开发了一种基于GIS环境的最短路线规划算法,可以为农业生产提供航线优化指导。
黄国祥等人则发挥了蚂蚁在搜索和探索中的优势,应用蚁群算法实现无人机航线规划,并与传统的无人机航线规划方法进行比较,结果表明采用蚁群算法的无人机航线规划更加优化。
二、蚁群算法在无人机航线规划技术中的应用蚁群算法在无人机航线规划中的应用,主要包括两个方面,即通过蚁群算法设计优化模型,以及利用蚁群算法进行算法仿真。
1. 通过蚁群算法设计优化模型基于蚁群算法的无人机航线规划技术需要建立相应的优化模型。
首先,需要将实际问题抽象成数学模型;然后,针对这个数学模型,构建适合于蚁群算法的搜索空间;最后,引入蚁群算法进行优化问题的求解。
基于蚁群算法的机器人路径规划摘要当前机器人朝着智能化的方向发展着,已经能够解决一些人类自身难以完成的任务。
机器人的研究方向分为好多个分支,其中机器人路径规划就是热点问题之一。
主要用于解决机器人在复杂环境下做出路径选择,完成相应任务的问题。
典型的路径规划问题是指在有障碍物的工作环境中,按照一定的评价标准(行走路线最短、所用时间最少等)为机器人寻找一条从起点到终点的运动路径,让机器人在运动过程中能安全、无碰撞地通过所有的障碍物。
基于蚁群算法的机器人路径规划的研究,利用仿真学的基本思想,根据生物蚂蚁协作和觅食的原理,建立人工蚁群系统。
本文介绍了使用基本蚁群算法和改进蚁群算法在机器人路径规划中的应用,以栅格法作为路径规划的环境模型建立方法。
其中改进蚁群算法依据最大最小蚂蚁系统原理和信息素奖励思想,还增加了其它启发信息来指导路径的搜索。
本文中介绍的基本蚁群算法应用蚁周模型对找到的路径进行信息素的更新,而在改进蚁群算法中,则综合使用了局部信息素更新原则和全局信息素更新原则。
另外在本文中介绍的改进蚁群算法使用了回退策略和落入陷阱时的信息素惩罚机制,帮助处理了蚂蚁在寻找路径过程中,落入陷阱后的问题。
不过改进后的蚁群算法的及时寻找到最优解的特性仍然有待于进一步的提高。
关键词:路径规划,蚁群算法,改进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),又称蚂蚁算法,是一种用来在图中寻找优化路径的机率型算法。
基于蚁群算法的机器人路径规划MATLAB源代码基本思路是,使用离散化网格对带有障碍物的地图环境建模,将地图环境转化为邻接矩阵,最后使用蚁群算法寻找最短路径。
function [ROUTES,PL,Tau]=ACASPS(G,Tau,K,M,S,E,Alpha,Beta,Rho,Q)%% ---------------------------------------------------------------% ACASP.m% 基于蚁群算法的机器人路径规划% GreenSim团队——专业级算法设计&代写程序% 欢迎访问GreenSim团队主页→/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 onendend源代码运行结果展示。
文章编号 2 2 2基于蚁群算法的自由飞行空间机器人路径规划Ξ金飞虎洪炳熔高庆吉哈尔滨工业大学计算机学院智能机器人研究室摘要 本文采用蚁群算法实现了自由飞行空间机器人的避障路径规划 蚁群算法是基于群体的一种仿生算法 为求解复杂的组合优化方法问题提供了一种新思路 本文对蚁群算法进行了适当的修改 使之适用于自由飞行空间机器人的路径规划 然后用计算机进行了仿真 取得了较好的结果关键词 自由飞行空间机器人 蚁群算法 路径规划 障碍避碰中图分类号 ×° 文献标识码ΠΑΤΗΠΛΑΝΝΙΝΓΦΟΡΦΡΕΕ−ΦΛΨΙΝΓΣΠΑΧΕΡΟΒΟΤΥΣΙΝΓΑΝΤΑΛΓΟΡΙΤΗΜƒ 2 ∏ 2 ± 2ΔεπαρτμεντοφΧομπυτερΣχιενχε Ενγινεερινγ ΗαρβινΙνστιτυτεοφΤεχηνολογψΑβστραχτ √ 2 ∏ × ∏ √ ¬ × √2 × ∏ ∏∏Κεψωορδσ 2 √1引言 Ιντροδυχτιον在未来空间资源的开发利用中 空间机器人将发挥着越来越举足轻重的作用 自由飞行空间机器人 简称ƒƒ≥ 是一种新型的智能机器人 它由机器人本体 卫星 和其搭载的机械手组成 由于ƒƒ≥ 的本体内携带气体推进器 它可以在空间微重力环境下自由飞行或浮游 从而扩展了机器人的工作空间 因此它将代替宇航员从事各种舱外作业 成为今后空间机器人的主要研究方向之一 ƒƒ≥ 的燃料有限 为了提高ƒƒ≥ 的工作效率以及延长其在轨寿命 对其飞行运动的研究具有重要意义 路径规划对于ƒƒ≥ 来说是非常重要的传统优化方法在机器人路径规划这类复杂非线性优化问题中缺乏足够的鲁棒性 本世纪 年代中期创立仿生学后 人们从生物进化的机理中受到启发 提出了许多用以解决复杂优化问题的新方法 如遗传算法!神经网络等 并成功应用于实际问题 蚁群算法 是最近几年才提出的一种新型的模拟进化算法 它是由意大利学者 ⁄ 等人首先提出来的≈ 称之为蚁群系统 并成功应用于一些实际问题 如×≥°问题!分配问题! 2 调度问题 取得了一系列较好的实验结果≈本文描述了基于蚁群算法的寻优路径策略 它将蚁群算法进行适当改进 使之适用于ƒƒ≥ 的路径规划 经过蚁群的协同工作 找到一条优化路径2路径的生成 Βυιλδινγοφπατ烃≥ 所处的位置为Σ 目标点为Γ Σ!Γ之间有一些障碍物挡着 如图 所示 ƒƒ≥ 寻求一条从Σ点到Γ点的既短又安全的一条路经第 卷第 期 年 月机器人ΡΟΒΟΤ∂√Ξ基金项目 航天 资助项目 ∀收稿日期图 路径产生过程ƒ × ∏ƒƒ≥ 起始点Σ在迪卡尔坐标系Ο2ΞΨ下的坐标为 ξσψξ 以Σ点为坐标原点 ΣΓ为Ξχ轴 垂直于ΣΓ的直线为Ψχ轴 建立新的坐标系Σ2ΞχΨχ 将线段ΣΓ进行μ等分 在每个等分点作ΣΓ的垂线 就得到线段ΛΛ , Λμ2 再以Ξχ轴为中心 将每条线段进行 ν等分 每条垂线上就有 ν 个点 在避障区域内 就有 μ ≅ ν 个路径点 如图 所示即Λ ξχ ψχ Λ ξχ ψχ ,Λ ξ ψχ ν,,Λμ ξχμ ψχ Λμ ξχμ ψχ ,Λμ ξχμ ψχ ν其中Λιξχι ψχϕ 表示第ι条垂线上的第ϕ点 则从起始点Σ到终点Γ的路径可以表示为° Σ Λ ξχ ψχκ Λ ξχ ψχκ ,Λμ ξχμ ψχκ μ Γκι , ν 新坐标系Σ2ΞχΨχ到原坐标系Ο2ΞΨ的转换公式为ξψΑ ΑΑ Αξχψχξσψσ其中Α表示ΟΞ与ΣΞχ的夹角垂线Λι上的路径点α ξχι ψχγ 到下一个垂线Λι 上的路径点β ξχι ψχϕ 的距离用δαβÞΣΓÞμψχϕ ψχγ ϕ γ , ν 来表示 如果线段αβ与障碍物相交或相切 则令其距离为] 如线段αχ第κ只蚂蚁的路径长度为ΛκÞΣΓÞμψχκΕμκιÞΣΓÞμψχκ ι ψχκιÞΣΓÞμψχκ μ3蚁群算法的实现 Ιμπλεμεντατιονοφαντσψστεμ由于ƒƒ≥ 避障路径规划问题与×≥°问题 即旅行推销商问题 的差异 本文的蚁群算法与文≈ 中的蚁群算法既有相似之处 也有不同之处 相似之处在于 在×≥°问题中 旅行推销商遍历各城市时要寻求最短总路径长 而在ƒƒ≥ 路径规划中 ƒƒ≥ 所走的路径也需为最短 不同之处在于 ≠×≥°问题中旅行推销商的旅行路线是一条闭合路径 旅行推销商需要走完全部的城市 而ƒƒ≥ 无需遍历全部节点 只需从出发点出发到达目标点即可 ×≥°问题中蚂蚁根据它的总路径长度来更新信息激素物质 ƒƒ≥ 则根据目标函数来更新信息激素物质 目标函数中不但包含蚂蚁走过的路径长度信息 还包含避障安全信息 ≈×≥°问题中蚂蚁必须记住已走过的节点 而ƒƒ≥ 路径规划中 ƒƒ≥ 无需记忆 只需选择下一条垂线上的节点即可3 1目标函数的建立假设共有θ个障碍物 每个障碍物的大小表示圆心为 Ξχϕ Ψχϕ 半径为ρϕ的圆 垂线Λι上的节点 ξχι ψχκι 到障碍物的距离可表示为δξχι Ξχϕ ψχκι Ψχϕ ρϕ由于蚁群算法中信息激素物质是根据目标函数的值来更新的 目标函数的选择还应该考虑到具体问题的特征 即路径最短并且能够安全避开障碍物 从这两点出发 用蚂蚁所走过的路径长度和路径上选定的离散点到最近障碍物的距离作为参数确定目标函数 目标函数计算公式如下Φ Λκ ΔΕμιδι其中 Λκ表示第κ只蚂蚁所走过的路径长度 δι表示节点到最近障碍物的距离 Δ为避障系数 Δ越大 ƒƒ≥ 的安全系数就越高选定的节点 ξχι ψχκι 到最近障碍物距离的计算公式如下第 卷第 期金飞虎等 基于蚁群算法的自由飞行空间机器人路径规划δι ξχι Ξχ ψχκι Ψχρ,ξχι Ξχθ ψχκι Ψχθρθ3 2 路径点的选择假设蚂蚁从垂线段Λι上的节点α到下一个垂线段Λι 上任意节点β的时间相等 与距离无关 那么全部蚂蚁将同时到达目标点 同时完成一次循环如果在τ时刻 蚁群移动到垂线段Λι处 设βϕ ϕ, ν 为τ时刻线段Λι上ϕ节点处的蚂蚁数 则蚂蚁总数η可以表示为ηΕνϕβϕ设Σαβ τ 表示τ时刻在路径线αβ上残留的信息量 在初始时刻 各条线上的信息量相等 设ΣαβΧ Χ为常数 ∃Σαβ 蚂蚁κ在运动过程中 根据各条路径线上的信息量决定转移方向 Πκαβ τ 表示τ时刻蚂蚁κ由位置α ξχι ψχγ 转移到β ξχι ψχϕ 的概率πκαβΣΑαβτ ΓΒαβ τ ΕΣΑαβτ ΓΒαβ τ βΙ其中Γαβ表示线段αβ上的能见度 Α表示信息激素物质的相对重要性 Α∴ Β表示能见度的相对重要性Β∴能见度Γαβ为α β点距离的倒数 即ΓαβÞδαβÞ3 3 信息激素物质的更新随着时间的推移 先前留下的信息激素物质逐渐消逝 用参数Θ [Θ 来表示信息激素物质的持久性 则 Θ表示信息激素物质的消逝程度 经过μ个时间单位 蚂蚁从起始点Σ到达目标点Γ 各路经上的信息量要根据下式作调整Σαβ τ μ ΘΣαβ τ ∃Σαβ∃ΣαβΕηκ∃Σκαβ∃Σκαβ表示第κ只蚂蚁在本次循环在线段αβ上留下的单位长度轨迹上的信息激素物质 可用下式来计算∃ΣκαβΘΦκ若第κ只蚂蚁在本次循环中经过αβ否则其中 Θ是常数 Φκ表示第κ只蚂蚁在本次循环中的目标函数值本文蚁群算法的主要步骤≥×∞° 令时间和循环次数 ≤为零 设置最大循环次数 ≤ ¬ 令每个线段上的信息量Σαβ τΧ 且∃Σαβ 将全部蚂蚁置于起始点Σ≥×∞° 启动所有蚂蚁 对每只蚂蚁κ 根据式计算的概率用轮盘转法选择下一条垂线上的节点并前进≥×∞° 重复≥×∞° 直到蚁群到达目标点Γ≥×∞° 令τζτ μ ≤ζ ≤ 计算各蚂蚁走过的路径长度Λκ和目标函数值Φκ 记录当前最优解 根据公式Σαβ τ μ ΘΣαβ τ ∃Σαβ ∃Σαβ Εηκ∃Σκαβ更新每个线段上的信息残留量≥×∞° 如果蚂蚁群全部收敛到一条路径或循环次数 ≤ ≤ ¬ 则循环结束 输出最佳路径 否则 ≥×∞°4 计算机仿真实验 Χομπυτερσιμυλατιονρεσυλτσ为了验证上面的算法 在°≤机上用 进行了仿真图 Δ 时的优化轨迹ƒ ∏ Δ图 Δ 时的优化轨迹ƒ ∏ Δ机 器 人 年 月假设路径上有两个障碍物 将障碍物区域简化为圆形 将起始点Σ到目标点Γ进行 等分 蚁群算法的参数经实验确定为Α Β Θ Θ 这里启用了 只蚂蚁 经过 次计算 其实验结果如下 图 为避障系数Δ 时的优化轨迹 图 为Δ 时的优化轨迹5结论 Χονχλυσιον本文利用蚁群算法对解决自由飞行空间机器人避碰路径的问题进行了讨论 仿真结果显示该算法可以有效地解决自由飞行空间机器人避障问题 为机器人实时轨迹规划奠定了基础 算法中通过调整避障系数 可以得到不同的优化轨迹 从而扩展了机器人对具体问题的适应性 同时该算法也有利于并行执行和应用 并且具有较强的鲁棒性 蚁群算法的研究刚刚起步 还有许多问题有待解决 但仿真结果显示了蚁群算法在解决路径规划等优化问题方面有良好前景参考文献 Ρεφερενχεσ≈ ⁄ ∂ ≤ ≈ ∞∞∞×≥ ≤ 26≈ ≤ ∏ ∏ × 3≈ ⁄ ≤ √ × √ ≥ ° ∞∞∞× ∞√ ∏ ≤ ∏ 1≈ ⁄ ⁄ ≤ × ≤2 ∏ ⁄ ≤ ⁄ ƒ√ 2 √ × ⁄ Ù 2 √ ∏¬ ∏≈ 蔡自兴 机器人原理及其应用 中南工业大学出版社作者简介金飞虎 2 男 哈尔滨工业大学计算机应用专业博士研究生 研究领域 空间智能机器人 神经网络控制 计算机网络及通讯技术洪炳熔 2 男 工学博士 哈尔滨工业大学计算机应用专业教授 博士生导师 研究领域 空间智能机器人!星载计算机和虚拟现实技术高庆吉 2 男 哈尔滨工业大学计算机应用专业博士研究生 研究领域 为空间智能机器人及人工智能技术上接第 页机器人处于倾覆临界状态时 除了≤ !≤ 点外 其余支撑点处的壁面反力为零 因此机器人受到的所有力对≤的力矩为 ƒ ƒ 球形壁面爬行机器人在球面上不发生绕 ≤ 倾覆的条件为 ƒ ƒ6结论 Χονχλυσιον本研究得到国家自然科学基金项目的资助 机器人达到了总体要求的性能指标 /球面移动机器人0已获实用新型发明专利 下阶段除样机完善和现场试用外 进一步的研究涉及到机器人本体的轻量化!移动速度提高和作业装置的试验 满足全天候作业的性能要求等参考文献 Ρεφερενχεσ≈ ≠ ∏ ≥ ∞ ∏ ≥ ≤42≈ × ⁄ √ • ≤ 石川岛磨技报 32 ≈ ° • × ≥ ∏ • ° ≥ ∏1≈ × ≥ ∏ ≥ ⁄ √ ≥ 2 • 2≤ 机械技术研究所所报 46≈ 黄建军 多方位运动车辆及其车轮 发明专利申请公开说明书≤作者简介谈士力 2 男 博士 教授 研究领域 机器人技术与应用第 卷第 期金飞虎等 基于蚁群算法的自由飞行空间机器人路径规划。
MATLAB 实现基于蚁群算法的机器人路径规划1、问题描述移动机器人路径规划是机器人学的一个重要研究领域。
它要求机器人依据某个或某些优化原则(如最小能量消耗,最短行走路线,最短行走时间等),在其工作空间中找到一条从起始状态到目标状态的能避开障碍物的最优路径。
机器人路径规划问题可以建模为一个有约束的优化问题,都要完成路径规划、定位和避障等任务。
2 算法理论蚁群算法(Ant Colony Algorithm ,ACA ),最初是由意大利学者Dorigo M. 博士于1991 年首次提出,其本质是一个复杂的智能系统,且具有较强的鲁棒性,优良的分布式计算机制等优点。
该算法经过十多年的发展,已被广大的科学研究人员应用于各种问题的研究,如旅行商问题,二次规划问题,生产调度问题等。
但是算法本身性能的评价等算法理论研究方面进展较慢。
Dorigo 提出了精英蚁群模型(EAS ),在这一模型中信息素更新按照得到当前最优解的蚂蚁所构造的解来进行,但这样的策略往往使进化变得缓慢,并不能取得较好的效果。
次年Dorigo 博士给出改进模型(ACS ),文中改进了转移概率模型,并且应用了全局搜索与局部搜索策略,来得进行深度搜索。
Stützle 与Hoos 给出了最大-最小蚂蚁系统(MAX-MINAS ),所谓最大-最小即是为信息素设定上限与下限,设定上限避免搜索陷入局部最优,设定下限鼓励深度搜索。
蚂蚁作为一个生物个体其自身的能力是十分有限的,比如蚂蚁个体是没有视觉的,蚂蚁自身体积又是那么渺小,但是由这些能力有限的蚂蚁组成的蚁群却可以做出超越个体蚂蚁能力的超常行为。
蚂蚁没有视觉却可以寻觅食物,蚂蚁体积渺小而蚁群却可以搬运比它们个体大十倍甚至百倍的昆虫。
这些都说明蚂蚁群体内部的某种机制使得它们具有了群体智能,可以做到蚂蚁个体无法实现的事情。
经过生物学家的长时间观察发现,蚂蚁是通过分泌于空间中的信息素进行信息交流,进而实现群体行为的。
基于蚁群算法的无人机协同任务规划优化算法无人机协同任务规划优化是无人机应用领域中的一个重要课题。
为了提高协同任务的效率和减少能耗,研究者们提出了基于蚁群算法的无人机协同任务规划优化算法。
本文将讨论该算法的原理、应用场景以及优势。
一、算法原理基于蚁群算法的无人机协同任务规划优化算法灵感来源于蚁群行为。
蚁群中的蚂蚁通过释放信息素来与其他蚂蚁进行沟通和协调行动。
这种信息素的释放和感知可以用来解决无人机协同任务规划中的路径问题。
该算法的具体步骤如下:1. 初始化蚁群:随机生成一定数量的蚂蚁,并分配给每个蚂蚁一个起始位置和任务。
2. 更新信息素:根据蚂蚁的路径长度和任务完成情况,更新路径上的信息素数值。
3. 选择下一个位置:根据信息素浓度和启发式函数来选择下一个位置,并更新路径。
4. 判断任务完成:判断蚂蚁是否完成任务,若完成则转移到下一任务,否则转移到下一个位置。
5. 重复步骤2-4,直到所有任务完成。
6. 更新最优路径:根据所有蚂蚁的路径选择,更新全局最优路径。
二、应用场景基于蚁群算法的无人机协同任务规划优化算法在以下场景中有广泛的应用:1. 物流配送:多架无人机协同完成快递配送任务,通过算法优化路径规划,提高配送效率。
2. 巡逻监控:多架无人机同时进行巡逻监控,通过算法将监控区域分配给不同无人机,从而提高监控范围和监控效果。
3. 搜索与搜救:多架无人机进行搜救任务,通过算法优化路径规划,提高搜索效率。
三、算法优势基于蚁群算法的无人机协同任务规划优化算法相比传统的规划算法具有以下优势:1. 分布式计算:蚂蚁在算法中的分布式搜索过程可以对任务进行并行处理,大大加快计算速度。
2. 自适应性:算法中的信息素更新机制能够自适应任务变化和环境变化,从而提高算法的鲁棒性。
3. 稳健性:算法能够在部分蚂蚁无法完成任务的情况下,仍能寻找到较优解,因此具有更好的稳健性。
4. 省能耗:通过算法优化路径规划,减少无人机的航行距离和航行时间,从而降低能耗。
文章编号:100220446(2002)0620526204基于蚁群算法的自由飞行空间机器人路径规划Ξ金飞虎 洪炳熔 高庆吉(哈尔滨工业大学计算机学院智能机器人研究室 150001)摘 要:本文采用蚁群算法实现了自由飞行空间机器人的避障路径规划.蚁群算法是基于群体的一种仿生算法,为求解复杂的组合优化方法问题提供了一种新思路.本文对蚁群算法进行了适当的修改,使之适用于自由飞行空间机器人的路径规划,然后用计算机进行了仿真,取得了较好的结果.关键词:自由飞行空间机器人;蚁群算法;路径规划;障碍避碰中图分类号: T P24 文献标识码: BPATH PLANN ING FOR FREE-FLY ING SPACEROB OT USING ANT AL G OR ITH MJ I N Fei2hu HON G B ing2rong GAO Q ing2ji(D ep art m ent of Co mp u ter S cience&E ng ineering,H arbin Institu te of T echnology 150001) Abstract:O b stacle avo idance path p lann ing fo r free2flying space robo t is realized by the u se of an t algo rithm.T he an t algo rithm is a class of popu lati on based b i on ic algo rithm,w h ich p rovides new m ethods fo r comp lex com b inato rial op ti m izati on p rob lem.T he an t algo rithm is i m p roved app rop riately so that it is app licab le to path p lann ing fo r free2flying space robo t.T hen,the algo rithm is i m p lem en ted w ith compu ter si m u lati on and p referab le resu lts are ob tained. Keywords:free2flying space robo t,an t algo rithm,path p lann ing,ob stacle avo idance1 引言(I n troduction)在未来空间资源的开发利用中,空间机器人将发挥着越来越举足轻重的作用.自由飞行空间机器人(free flying sp ace robo t,简称FFSR)是一种新型的智能机器人,它由机器人本体(卫星)和其搭载的机械手组成.由于FFSR的本体内携带气体推进器,它可以在空间微重力环境下自由飞行或浮游,从而扩展了机器人的工作空间,因此它将代替宇航员从事各种舱外作业,成为今后空间机器人的主要研究方向之一.FFSR的燃料有限,为了提高FFSR的工作效率以及延长其在轨寿命,对其飞行运动的研究具有重要意义,路径规划对于FFSR来说是非常重要的.传统优化方法在机器人路径规划这类复杂非线性优化问题中缺乏足够的鲁棒性.本世纪50年代中期创立仿生学后,人们从生物进化的机理中受到启发,提出了许多用以解决复杂优化问题的新方法,如遗传算法、神经网络等,并成功应用于实际问题.蚁群算法(an t system)是最近几年才提出的一种新型的模拟进化算法,它是由意大利学者M.Do rigo等人首先提出来的[1],称之为蚁群系统(an t co lony system),并成功应用于一些实际问题,如T SP问题、分配问题、j ob2shop调度问题,取得了一系列较好的实验结果[2,3].本文描述了基于蚁群算法的寻优路径策略.它将蚁群算法进行适当改进,使之适用于FFSR的路径规划,经过蚁群的协同工作,找到一条优化路径.2 路径的生成(Bu ild i ng of pa th)FFSR所处的位置为S,目标点为G,S、G之间有一些障碍物挡着,如图1所示.FFSR寻求一条从S点到G点的既短又安全的一条路经.第24卷第6期2002年11月机器人 ROBO T V o l.24,N o.6 N ov.,2002Ξ基金项目:航天863资助项目(863-2-4-1-2)。
收稿日期:2002-04-25图1 路径产生过程F ig .1 T he p rocess of path bu ilding FFSR 起始点S 在迪卡尔坐标系O 2X Y 下的坐标为(x s ,y x ).以S 点为坐标原点,S G 为X ′轴,垂直于S G 的直线为Y ′轴,建立新的坐标系S 2X ′Y ′.将线段S G 进行m 等分,在每个等分点作S G 的垂线,就得到线段L 1,L 2,…,L m 21,再以X ′轴为中心,将每条线段进行2n 等分,每条垂线上就有(2n +1)个点.在避障区域内,就有(m -1)×(2n +1)个路径点,如图1所示即L 1(x ′1,y ′1)L 1(x ′1,y ′2)…L 1(x 1,y ′2n +1)……L m -1(x ′m -1,y ′1)L m -1(x ′m -1,y ′2)…L m -1(x ′m -1,y ′2n +1)其中L i (x ′i ,y ′j )表示第i 条垂线上的第j 点,则从起始点S 到终点G 的路径可以表示为Path ={S ,L 1(x ′1,y ′k 1),L 2(x ′2,y ′k 2),…,L m -1(x ′m -1,y ′k (m -1)),G }(k i =1,2,…2n +1)(1)新坐标系S 2X ′Y ′到原坐标系O 2X Y 的转换公式为x y=co s Α-sin Αsin Αco s Αx ′y ′+x s y s(2)其中Α表示OX 与S X ′的夹角.垂线L i 上的路径点a (x ′i ,y ′g )到下一个垂线L i +1上的路径点b (x ′i +1,y ′j )的距离用d ab =(S G m)2+(y ′j -y ′g )2(j ,g =1,2,…,2n +1)来表示.如果线段ab 与障碍物相交或相切,则令其距离为∞,如线段ac .第k 只蚂蚁的路径长度为L k =( S G m)2+(y ′k 1-0)2+∑m -2k i =1( S G m)2+(y ′k (i +1)-y ′k i )2+(S G m)2+(y ′k (m -1)-0)23 蚁群算法的实现(I m plem en ta tion of an tsystem )由于FFSR 避障路径规划问题与T SP 问题(即旅行推销商问题)的差异,本文的蚁群算法与文[1]中的蚁群算法既有相似之处,也有不同之处.相似之处在于;在T SP 问题中,旅行推销商遍历各城市时要寻求最短总路径长,而在FFSR 路径规划中,FFSR 所走的路径也需为最短.不同之处在于;①T SP 问题中旅行推销商的旅行路线是一条闭合路径,旅行推销商需要走完全部的城市,而FFSR 无需遍历全部节点,只需从出发点出发到达目标点即可.②T SP 问题中蚂蚁根据它的总路径长度来更新信息激素物质,FFSR 则根据目标函数来更新信息激素物质,目标函数中不但包含蚂蚁走过的路径长度信息,还包含避障安全信息.③T SP 问题中蚂蚁必须记住已走过的节点,而FFSR 路径规划中,FFSR 无需记忆,只需选择下一条垂线上的节点即可.3.1 目标函数的建立假设共有q 个障碍物,每个障碍物的大小表示圆心为(X ′j ,Y ′j ),半径为r j 的圆,垂线L i 上的节点(x ′i ,y ′k i )到障碍物的距离可表示为d =(x ′i -X ′j )2+(y ′k i -Y ′j )2-r j .由于蚁群算法中信息激素物质是根据目标函数的值来更新的,目标函数的选择还应该考虑到具体问题的特征,即路径最短并且能够安全避开障碍物.从这两点出发,用蚂蚁所走过的路径长度和路径上选定的离散点到最近障碍物的距离作为参数确定目标函数,目标函数计算公式如下:F =L k +∆∑m -1i =11di m in(3)其中,L k 表示第k 只蚂蚁所走过的路径长度,d i m in 表示节点到最近障碍物的距离,∆为避障系数,∆越大,FFSR 的安全系数就越高.选定的节点(x ′i ,y ′k i )到最近障碍物距离的计算公式如下:725第24卷第6期金飞虎等: 基于蚁群算法的自由飞行空间机器人路径规划d i m in =m in{((x ′i -X ′1)2+(y ′k i -Y ′1)2-r 1),…,((x ′i -X ′q )2+(y ′k i -Y ′q )2-r q )}(4)3.2 路径点的选择假设蚂蚁从垂线段L i 上的节点a 到下一个垂线段L i +1上任意节点b 的时间相等,与距离无关,那么全部蚂蚁将同时到达目标点,同时完成一次循环.如果在t 时刻,蚁群移动到垂线段L i 处,设b j (j =1,2,…2n +1)为t 时刻线段L i 上j 节点处的蚂蚁数,则蚂蚁总数h 可以表示为h =∑2n +1j =1b j.设Σab (t )表示t 时刻在路径线ab 上残留的信息量.在初始时刻,各条线上的信息量相等,设Σab (0)=C (C 为常数),∃Σab =0.蚂蚁k 在运动过程中,根据各条路径线上的信息量决定转移方向.P k ab (t )表示t 时刻蚂蚁k 由位置a (x ′i ,y ′g )转移到b (x ′i +1,y ′j )的概率p kab =ΣΑab (t )ΓΒab (t )∑0ΣΑab(t )ΓΒab (t )b ∈allow ed0o therw ise(5)其中Γab 表示线段ab 上的能见度,Α表示信息激素物质的相对重要性(Α≥0);Β表示能见度的相对重要性(Β≥0).能见度Γab 为a ,b 点距离的倒数,即Γab =1d ab.3.3 信息激素物质的更新随着时间的推移,先前留下的信息激素物质逐渐消逝,用参数Θ(0≤Θ<1)来表示信息激素物质的持久性,则1-Θ表示信息激素物质的消逝程度.经过m 个时间单位,蚂蚁从起始点S 到达目标点G ,各路经上的信息量要根据下式作调整.Σab (t +m )=ΘΣab (t )+∃Σab∃Σab =∑hk =1∃Σkab (6)∃Σk ab表示第k 只蚂蚁在本次循环在线段ab 上留下的单位长度轨迹上的信息激素物质,可用下式来计算.∃Σk ab=Q F k若第k 只蚂蚁在本次循环中经过ab否则(7)其中,Q 是常数,F k 表示第k 只蚂蚁在本次循环中的目标函数值.本文蚁群算法的主要步骤:ST EP 1:令时间t 和循环次数N C 为零,设置最大循环次数N Cm ax ,令每个线段上的信息量Σab (t )=C ,且∃Σab =0,将全部蚂蚁置于起始点S .ST EP 2:启动所有蚂蚁,对每只蚂蚁k ,根据(5)式计算的概率用轮盘转法选择下一条垂线上的节点并前进.ST EP 3:重复ST EP 2,直到蚁群到达目标点G .ST EP 4:令t ←t +m ;N C ←N C +1;计算各蚂蚁走过的路径长度L k 和目标函数值F k ,记录当前最优解.根据公式Σab (t +m )=ΘΣab (t )+∃Σab ,∃Σab =∑hk =1∃Σkab更新每个线段上的信息残留量.ST EP 5:如果蚂蚁群全部收敛到一条路径或循环次数N C >=N Cm ax ,则循环结束,输出最佳路径.否则go to ST EP 2.4 计算机仿真实验(Com puter si m ula tionresults )为了验证上面的算法,在PC 机上用M atlab 6.0进行了仿真.图2 ∆=5时的优化轨迹F ig .2 Op ti m um trajecto ry w h ile ∆=5 图3 ∆=1时的优化轨迹F ig .3 Op ti m um trajecto ry w h ile ∆=1825 机 器 人2002年11月假设路径上有两个障碍物,将障碍物区域简化为圆形,将起始点S到目标点G进行20等分.蚁群算法的参数经实验确定为Α=3,Β=3,Θ=0.5,Q=100.这里启用了20只蚂蚁,经过192次计算,其实验结果如下.图2为避障系数∆=5时的优化轨迹,图3为∆=1时的优化轨迹.5 结论(Conclusion)本文利用蚁群算法对解决自由飞行空间机器人避碰路径的问题进行了讨论,仿真结果显示该算法可以有效地解决自由飞行空间机器人避障问题,为机器人实时轨迹规划奠定了基础.算法中通过调整避障系数,可以得到不同的优化轨迹,从而扩展了机器人对具体问题的适应性.同时该算法也有利于并行执行和应用,并且具有较强的鲁棒性.蚁群算法的研究刚刚起步,还有许多问题有待解决,但仿真结果显示了蚁群算法在解决路径规划等优化问题方面有良好前景.参考文献 (References)[1]Do rigo M,M aniezzo V,Co lo rniA.A nt system:op ti m izati on bya co lony of cooperating agent[J].IEEE T ransacti ons onSystem s,M an,and Cybernetics,1996,26(1):29-41[2]Co lo rni A.H euristics from nature fo r hard com binato rialop ti m izati on p roblem s.Int T rans in Opnl R es,1996,3(1):1-21[3]Do rigo M,Gam bardella L M.A Cooperative L earning A pp roachto the T raveling Sales m an P roblem.IEEE T ransacti ons on Evo luti onary Computati on,1997,1(1):53-66[4]Do rigo M.A nd G.D i Caro(1999).T he A nt Co lonyOp ti m izati on M eta2H euristic.In D.Co rne,M.Do rigo and F.Glover(eds),N ew Ideas in Op ti m izati on.M cGraw2H ill,1999.(A lso available as:T ech.R ep.I R I D I A 9921,U niversite L ibrede B ruxelles,Belgium.)[5]蔡自兴.机器人原理及其应用.中南工业大学出版社,1988作者简介: 金飞虎(19732),男,哈尔滨工业大学计算机应用专业博士研究生.研究领域:空间智能机器人,神经网络控制,计算机网络及通讯技术. 洪炳熔(19372),男,工学博士,哈尔滨工业大学计算机应用专业教授,博士生导师.研究领域:空间智能机器人、星载计算机和虚拟现实技术. 高庆吉(19672),男,哈尔滨工业大学计算机应用专业博士研究生.研究领域:为空间智能机器人及人工智能技术.(上接第520页) 机器人处于倾覆临界状态时,除了C1、C2点外,其余支撑点处的壁面反力为零,因此机器人受到的所有力对t C12的力矩为:m t(F)+m t(F).球形壁面爬行机器人在球面上不发生绕tC12倾覆的条件为: m t(F)+m t(F)=0.6 结论(Conclusion)本研究得到国家自然科学基金项目的资助,机器人达到了总体要求的性能指标,“球面移动机器人”已获实用新型发明专利.下阶段除样机完善和现场试用外,进一步的研究涉及到机器人本体的轻量化、移动速度提高和作业装置的试验,满足全天候作业的性能要求等.参考文献 (References)[1]Yo sh ikazu M,et al.JS M E Interati onal Journal Series C,1999,42(1):210[2]H isao Ko ji m a,R yow ei Toyam a,Kengo Kobayash i.D evelopm entof W all C leaning Robo t,石川岛磨技报,1992,32(2):123-128 [3]K roczynsk i P,W ade B.T he Skyw asher:A Building W ash ingRobo t.P roceedings of17th Int Symp O n Industrial Robo ts, 1987,1:11-19[4]K iich i Ikena,T aketonsh iN ozak i,Saburo Sh i m ada.D evelopm entof A Self2contained W all2C li m bing Robo t.机械技术研究所所报,1992,46(2):56-65[5]黄建军.多方位运动车辆及其车轮.发明专利申请公开说明书CN1073636A,1992作者简介: 谈士力(19662),男,博士,教授.研究领域:机器人技术与应用.925第24卷第6期金飞虎等: 基于蚁群算法的自由飞行空间机器人路径规划。