【路径规划】基于蚁群算法实现无人机uav巡检附matlab代码

1 内容介绍

现代社会的无人机成本造价低、不易损耗、轻巧灵便、易躲藏、能精确打击

目标这些特点,使其在一些高危任务中发挥了不可替代的作用[5]。无人机的用处主要有两种:民用和军事。在民用方面,我们可以运用无人机对一些可能出现隐患的事物进行监控,比如对震后灾区的地面勘探、森林火灾的检测、风暴中心的气象数据等。在 2014 索契奥运会上,无人机携带的摄像拍摄的画面更贴近运动员,画质更为清晰,2018 中国新年春晚上大量无人机组成的海豚造型惊艳了世界。在军事方面,我们可以运用无人机进行一些特殊任务的执行,比如对毒贩的监视工作,边境的巡防工作,无人机侦查、搜救、预警等。无人机的运用使我们在一些事情上实现了无人员伤亡。军事无人机是当今时代无人机技术的高水准体现。伴随着日益成熟的无人机技术,对航路规划的研究也愈加深入。航路规划的前提是在一定的约束条件下,然后寻求可飞行航路。对于无人机而言它自身的主要约束条件有:最大的载重量、可以上升的门限高度、空载时耗油量、起飞时承载的重量等,在飞行时要考虑地形存在的威胁和是否存在禁飞区等。相对国外研究,我国还没有比较成熟的航路规划体系,但是对航路规划的研究热情我国日益加强.飞行过程中有时会遇到一些突发事故,无人机在此时不能按照预先规划的航迹继续进行,需要无人机能够在当前的环境下动态的规划出一条满足要求的航路,也说明了航路规划的静态和实时动态规划相结合的算法是我们未来的一个研究趋势。

随着现代社会的不断发展,电子信息技术研究不断深入,无人机航路规划越

来越智能化。现代社会由于飞机的特殊性,其安全性一直是我们最为关心的话题,因为一旦发生一点点事故,往往伴随着生命的代价,所以在面对一些内部环境比较复杂的地方时,可以使用一些有着特殊功能的无人机,它们在无人的状态下可以将性能调整到最优,在执行任务的过程中不用担心其产生人员伤亡,而且无人机的活动区域比较广泛,不限单次使用,能够执行多种任务。现代战场上无人机的威力发挥很大程度上取决于航路规划的合理性。根据模型,航路规划通常会产生很多条满足条件的航路,而我们要做的就是快速、准确找到这些满足要求航路中的最优一条。随着无人机的硬件和软件技术的不断成熟,无人机航路规划技术也必将得到更好的发展和更广泛的应用.

蚂蚁算法是一种新的源于大自然生物界的仿生随机优化方法.吸收了昆虫中蚂蚁的行为特征,通过其内在的搜索机制,在一系列组合优化问题求解中取得了成效.将蚁群算法应用于无人机(UAV)航路规划,提出了一种适用于航路规划的优化方法,可以为在敌方防御区域内执行攻击任务的无人机规划设计出高效的飞行航路,保证无人机以最小的被发现概率及可接受航程到达目标点,提高了无人机作战任务的成功率.仿真结果初步表明该方法是一种有效的航路规划方法.

2 仿真代码

function [R_best,L_best,L_ave,Shortest_Route,Shortest_Length]=Antcolonyalgorithm(C,NC_max,m,Alpha,Beta,Rho,Q)%% 输入输出说明% C城市的坐标% NC_max 最大迭代次数% m 蚂蚁个数% Rho 信息素蒸发系数% Q 信息素增加强度系数% R_best 最佳路线% L_best 最佳路线的长度% Alpha 信息素重要程度% Beta 启发式因子重要程度%变量初始化n=size(C,1);D=zeros(n,n);for i=1:n    for j=1:n        if i~=j            D(i,j)=((C(i,1)-C(j,1))^2+(C(i,2)-C(j,2))^2)^0.5;        else            D(i,j)=eps;        end        D(j,i)=D(i,j);    endendEta=1./D;Tau=ones(n,n); Tabu=zeros(m,n);NC=1;R_best=zeros(NC_max,n);L_best=inf.*ones(NC_max,1);L_ave=zeros(NC_max,1); while NC<=NC_max     Randpos=[];    for i=1:(ceil(m/n))        Randpos=[Randpos,randperm(n)];    end    Tabu(:,1)=(Randpos(1,1:m))';    for j=2:n        for i=1:m            visited=Tabu(i,1:(j-1));             J=zeros(1,(n-j+1));            P=J;            Jc=1;            for k=1:n                if isempty(find(visited==k, 1))                J(Jc)=k;                Jc=Jc+1;                end            end            %概率分布            for k=1:length(J)                P(k)=(Tau(visited(end),J(k))^Alpha)*(Eta(visited(end),J(k))^Beta);            end            P=P/(sum(P));            Pcum=cumsum(P);             Select=find(Pcum>=rand);            to_visit=J(Select(1));            Tabu(i,j)=to_visit;        end    end    if NC>=2        Tabu(1,:)=R_best(NC-1,:);    end    L=zeros(m,1);    for i=1:m        R=Tabu(i,:);        for j=1:(n-1)            L(i)=L(i)+D(R(j),R(j+1));         end        L(i)=L(i)+D(R(1),R(n));     end    L_best(NC)=min(L);    pos=find(L==L_best(NC));    R_best(NC,:)=Tabu(pos(1),:);     L_ave(NC)=mean(L);    NC=NC+1;    %更新信息素    Delta_Tau=zeros(n,n);    for i=1:m        for j=1:(n-1)            Delta_Tau(Tabu(i,j),Tabu(i,j+1))=Delta_Tau(Tabu(i,j),Tabu(i,j+1))+Q/L(i);        end        Delta_Tau(Tabu(i,n),Tabu(i,1))=Delta_Tau(Tabu(i,n),Tabu(i,1))+Q/L(i);    end    Tau=(1-Rho).*Tau+Delta_Tau;    %禁忌表清零    Tabu=zeros(m,n);end%输出结果Pos=find(L_best==min(L_best)); Shortest_Route=R_best(Pos(1),:); Shortest_Length=L_best(Pos(1));end

3 运行结果

4 参考文献

[1]柳长安等. "蚁群算法在无人机航路规划中的应用." 火力与指挥控制 030.006(2005):22-24.

[2]刘钢,老松杨,侯绿林,等.知识引导的智能优化算法在航路规划中的应用[J].湖南大学学报(自

然科学版),2013,40(1):103-108.

[3]柳长安,梁广平,王和平,等.蚁群算法在无人机航路规划中的应用[J].火力与指挥控

制,2005,30(6):22-24.

[4]Cheng Z,Sun Y,Liu Y. Path planning based on immune genetic algorithm for UAV[C]//

International Conference on Electric Information and Control Engineering. IEEE, 2011:590-593.

[18]Sun J,Bao Y M,Wu S T. Cooperative route plan of initial stage for multiple missiles 52

formation[C]// Chinese Control and Decision Conference(ccdc. 2011:2487-2491​

博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。

部分理论引用网络文献,若有侵权联系博主删除。

 

  • 2
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

matlab科研助手

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值