【路径规划】基于人工势场的无人机编队协同路径规划matlab源码

233 阅读2分钟

1 简介

为实现无人机编队在指定空域完成从起始点到目标点间的自主路径规划,且机群在该过程中具有良好的协同性和执行高效性,提出了一种无人机群航路自主规划的方法并进行仿真.分析了机群个体的规划路径点及其特点,并通过建立的数学评价体系对以上路径进行优劣性评估.仿真及评估结果表明:该方案是正确和有效的,并能对传统规划方案存在的固有缺陷进行较好的修正,更利于现实中无人机群的实现.

img

img

img

img

2 部分代码

%% Test Swarm Trajectory   % 测试群轨迹
clear all;
false = 0;
true = 1;

%% Setup the movie stuff   %设置视频资料
make_movie = false;
writerObj = [];
if( make_movie )
  writerObj = VideoWriter('test_gradient0.avi');
  writerObj.FrameRate = 15;
  open(writerObj);
end

%% Parameter specifications for drones   无人机的参数设置
Nd = 5;                       % number of drones in swarm   集群中无人机的数量
ind_c = -1;                       % index for center/lead drone 指数中心/引导无人机
radius = 2;                       % radius for drones and possibly obstacles 无人机的半径和可能障碍物的半径
dims = [0, 100; 0, 100; 0, 100]; % first row is lower and upper x bounds
                                % second row is lower and upper y bounds

%% Start updating the drones     开始更新无人机
close all;
h = figure('Position', [10, 10, 800, 400]);

% Do the initial drawing
i = 1;
hold on
while( i <=Nd ) % loop through drones
  drawObject(drones(i));
  i = i + 1;
end

i = 1;
while( i <= No ) % loop through obstacles
  drawObject(obst(i));
  i = i + 1;
end
hold off
axis([ dims(1,1),dims(1,2),dims(2,1),dims(2,2) ])
xpos = [];

% Do iterations
it = 1;
count = 0;
done = 0;


%% Close movie file, if you are recording a movie
if( make_movie )
  close(writerObj);
end

3 仿真结果

img

img

4 参考文献

[1]毛晨悦, 吴鹏勇. 基于人工势场法的无人机路径规划避障算法[J]. 电子科技, 2019(7).

[2]魏博文, 邵长旭, 王茂森. 基于人工势场法的无人机群航路自主规划[J]. 兵工自动化, 2018, 37(011):84-88.

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

5 MATLAB代码与数据下载地址

见博客主页