【三维路径规划】基于matlab遗传算法无人机三维路径规划【含Matlab源码 2645期】 |
您所在的位置:网站首页 › gremlins无人机参考文献 › 【三维路径规划】基于matlab遗传算法无人机三维路径规划【含Matlab源码 2645期】 |
⛄一、无人机简介
0 引言 随着现代技术的发展,飞行器种类不断变多,应用也日趋专一化、完善化,如专门用作植保的大疆PS-X625无人机,用作街景拍摄与监控巡察的宝鸡行翼航空科技的X8无人机,以及用作水下救援的白鲨MIX水下无人机等,决定飞行器性能主要是内部的飞控系统和外部的路径规划问题。就路径问题而言,在具体实施任务时仅靠操作员手中的遥控器控制无人飞行器执行相应的工作,可能会对操作员心理以及技术提出极高的要求,为了避免个人操作失误,进而造成飞行器损坏的危险,一种解决问题的方法就是对飞行器进行航迹规划。 飞行器的测量精度,航迹路径的合理规划,飞行器工作时的稳定性、安全性等这些变化对飞行器的综合控制系统要求越来越高。无人机航路规划是为了保证无人机完成特定的飞行任务,并且能够在完成任务的过程中躲避各种障碍、威胁区域而设计出最优航迹路线的问题。 1 常见的航迹规划算法 1 引言 clc clear close all %% 三维路径规划模型 startPos = [1, 1, 1]; goalPos = [100, 100, 20]; % 定义山峰地图 posBound = [0,100; 0,100; 0,100;]; % 地图长、宽、高范围 [X,Y,Z] = defMap(posBound); %% 设置超参数 chromLength = 5; % 染色体长度,代表路线的控制点数,未加首末两点 p_select = 0.5; % 选择概率 p_crs = 0.8; % 交叉概率 p_mut = 0.2; % 变异概率 popNum = 50; % 种群规模 iterMax = 100; % 最大迭代数 %% 种群初始化 % 产生初始种群 pop = initPop(popNum,chromLength,posBound); % 计算种群适应度 pop = calFitness(startPos, goalPos, X,Y,Z,pop); % 更新种群最优 GlobalBest.fitness = inf; % 初始化每一代的最优粒子 [pop,GlobalBest] = calBest(pop,GlobalBest); %% 主程序 for i = 1:iterMax % 选择操作 parentPop = select(pop, p_select); % 交叉操作 childPop = crossover(parentPop,p_crs); % 变异操作 childPop = mutation(childPop,p_mut,posBound); % 将父代和子代组合得到新的种群 pop = [parentPop, childPop]; % 计算种群适应度 pop = calFitness(startPos, goalPos, X,Y,Z,pop); % 更新种群最优 [pop,GlobalBest] = calBest(pop,GlobalBest); % 把每一代的最优粒子赋值给fitness_beat_iters fitness_beat_iters(i) = GlobalBest.fitness; % 在命令行窗口显示每一代的信息 disp(['第' num2str(i) '代:' '最优适应度 = ' num2str(fitness_beat_iters(i))]); % 画图 plotFigure(startPos,goalPos,X,Y,Z,GlobalBest); pause(0.001);end ⛄四、运行结果
1 matlab版本 2014a 2 参考文献 [1]何光勤,朱一飞,张才然.基于遗传算法的无人机三维航迹规划研究[J].价值工程. 2020,39(07) 3 备注 简介此部分摘自互联网,仅供参考,若侵权,联系删除 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |