close all;
clc;
clear;
f=5;
n=360/f;
j=1;
%%
uav_num=3;
% startpoints=[52 12;10 18;15 50];%起点
startpoints=[10 2;2 30;2 20];%起点
% uav_num=1;
% startpoints=[10 10];%起点
goal1=[35 30];%终点
goal2=[10 10];%终点
goal3=[30 35];%终点
uuv_r=0.5;%机器人半径
step=0.2;%机器人速度变化
%%
obs_r=5;%障碍物半径
T=0;
%%
uavs=[];
obstacles=[];
C=[];
D=[];
for i=1:uav_num
uavs(1,1+2*(i-1))=startpoints(i,1);
uavs(1,2*i)=startpoints(i,2);
fillcircle(startpoints(i,1),startpoints(i,2),uuv_r,i); %填充颜色
end
obstacles=[ 10,20;20,10;20,20; 20,30;30,20;5,10];%障碍物
for i=1:size(obstacles,1)
fillcircle_obs(obstacles(i,1),obstacles(i,2),1);%静态障碍,半径为5
% rectangle('Position',[obstacle_origin(1,i),obstacle_origin(2,i),5,5],'Curvature',[1,1],'FaceColor','r');
end
sim_time=2;
core=10000000;
while core>5*step
for uav_th=1:uav_num
uav=[uavs(sim_time-1,2*uav_th-1),uavs(sim_time-1,2*uav_th)];
if uav_th==1
APF_force=comput_goal_att(uav,goal1)+...
comput_obs_rep(uav,goal1,obstacles)+...
comput_uav_rep(uav,uavs(sim_time-1,:));
end
if uav_th==2
APF_force=comput_goal_att(uav,goal2)+...
comput_obs_rep(uav,goal2,obstacles)+...
comput_uav_rep(uav,uavs(sim_time-1,:));
end
if uav_th==3
APF_force=comput_goal_att(uav,goal3)+...
comput_obs_rep(uav,goal3,obstacles)+...
comput_uav_rep(uav,uavs(sim_time-1,:));
end
if sim_time==2
angle=pi/4;
else
if APF_force(1)>0
if APF_force(2)>0
angle=acos(abs(APF_force(1))/norm(APF_force));
else
angle=-acos(abs(APF_force(1))/norm(APF_force));
end
else
if APF_force(2)>0
angle=pi-acos(abs(APF_force(1))/norm(APF_force));
else
angle=-pi+acos(abs(APF_force(1))/norm(APF_force));
end
end
end
uavs(sim_time,2*uav_th-1)=uav(1)+step*cos(angle);
uavs(sim_time,2*uav_th)=uav(2)+step*sin(angle);
end
for uav_th=1:uav_num
fillcircle(uavs(sim_time,2*uav_th-1),uavs(sim_time,2*uav_th),uuv_r,uav_th) %填充颜色
pause(0.0001);
end
sim_time=sim_time+1;
core=sum(abs(uavs(sim_time-1,1:2)-goal1)+abs(uavs(sim_time-1,3:4)-goal2)+abs(uavs(sim_time-1,5:6)-goal3));
end
matlab模拟人工势场法.rar
版权申诉
5星 · 超过95%的资源 178 浏览量
2021-05-26
15:41:04
上传
评论 9
收藏 3KB RAR 举报
ACE_coder
- 粉丝: 29
- 资源: 28
最新资源
- Screenshot_20240427_031602.jpg
- 网页PDF_2024年04月26日 23-46-14_QQ浏览器网页保存_QQ浏览器转格式(6).docx
- 直接插入排序,冒泡排序,直接选择排序.zip
- 在排序2的基础上,再次对快排进行优化,其次增加快排非递归,归并排序,归并排序非递归版.zip
- 实现了7种排序算法.三种复杂度排序.三种nlogn复杂度排序(堆排序,归并排序,快速排序)一种线性复杂度的排序.zip
- 冒泡排序 直接选择排序 直接插入排序 随机快速排序 归并排序 堆排序.zip
- 课设-内部排序算法比较 包括冒泡排序、直接插入排序、简单选择排序、快速排序、希尔排序、归并排序和堆排序.zip
- Python排序算法.zip
- C语言实现直接插入排序、希尔排序、选择排序、冒泡排序、堆排序、快速排序、归并排序、计数排序,并带图详解.zip
- 常用工具集参考用于图像等数据处理
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
- 1
- 2
- 3
- 4
前往页