通过这一算法可以实现二维平面内无人机的路径规划。在该平面内存在已知的障碍,势场法通过给终点添加引力,对障碍增加斥力,使得无人机能够顺利的避障并到达终点。通过对传统势场法的改进,避免了无人机容易陷入极值的问题,使搜索更易实现。

clear all;

x=[1 3 4 7 6 5.5 8 9.5];%???x??
y=[1.5 2.2 4.5 6 2 6 7.8 7];
plot(x,y,'O',10,10,'v',0,0,'ms');
hold on

%??????????????????,??????????????????????????
%???????
Xo=[0 0];%????
k=20;%???????????
K=0;%???
m=5;%??????????????????
Po=2;%??????????????????????????0??????????????????
n=8;%????
a=0.5;
l=0.05;%??
J=500;%??????
%???????????????????????Po?????????
%end
%?????????
Xsum=[10 10;1 1.5;3 2.2;4 4.5;7 6;6 2;5.5 6;8 7.8;9.5 7];%?????(n+1)*2????[10 10]?????????????????
Xj=Xo;%j=1??????????????Xj

[x,y]=meshgrid(-1:0.5:12,-1:0.5:12);
z=0.5*k./(sqrt((x-10).^2+(y-10).^2+0.09))-0.5*m*(1./(sqrt((x-1).^2+(y-1.5).^2+0.09))-1/3.5).^2-0.5*m*(1./(sqrt((x-3).^2+(y-2.2).^2+0.09))-1/3.5).^2 ...
    -0.5*m*(1./(sqrt((x-4).^2+(y-4.5).^2+0.09))-1/3).^2-0.5*m*(1./(sqrt((x-7).^2+(y-6).^2+0.09))-1/3).^2-0.5*m*(1./(sqrt((x-6).^2+(y-2).^2+0.09))-1/3.5).^2 ...
    -0.5*m*(1./(sqrt((x-5.5).^2+(y-6).^2+0.09))-1/4).^2-0.5*m*(1./(sqrt((x-8).^2+(y-7.8).^2+0.09))-1/3).^2-0.5*m*(1./(sqrt((x-9.5).^2+(y-7).^2+0.09))-1/3).^2;
% contour(x,y,z,[-50:20:1000]);
[C,h]=contour(x,y,z,[-80:10:300]);
set(h,'ShowText','on','TextStep',get(h,'LevelStep')*2)
colormap cool
[px,py]=gradient(z);%????x,y??????????
quiver(x,y,px,py,'k') %???????????
p=sqrt(px.^2+py.^2);
%%??
t=1;
M(t)=getframe;
t=t+1;

%***************????????????******************
for j=1:J%????
    Goal(j,1)=Xj(1);%Goal???????????????????????????
    Goal(j,2)=Xj(2);
%????????
   Theta=compute_angle(Xj,Xsum,n);%Theta??????????????????X????????????????????????????????
%????????
   Angle=Theta(1);%Theta?1????????????????????
   angle_at=Theta(1);%???????????????????angle_at
   [Fatx,Faty]=compute_Attract(Xj,Xsum,k,Angle,0,Po,n);%???????????x,y?????????
   
    for i=1:n
       angle_re(i)=Theta(i+1);%?????????????????n??????n????
     end
%????????
    [Frerxx,Freryy,Fataxx,Fatayy]=compute_repulsion(Xj,Xsum,m,angle_at,angle_re,n,Po,a);%??????x,y????????
%????????????????????j???????????????????????????????????????????????
    Fsumyj=Faty+Freryy+Fatayy;%y?????
    Fsumxj=Fatx+Frerxx+Fataxx;%x?????
    Position_angle(j)=atan(Fsumyj/Fsumxj);%???x????????
%?????????
    Xnext(1)=Xj(1)+l*cos(Position_angle(j));
    Xnext(2)=Xj(2)+l*sin(Position_angle(j));
    %?????????????
    Xj=Xnext;
    X=Goal(:,1);
    Y=Goal(:,2);
    plot(X,Y,'.r');
    M(t)=getframe;t=t+1;
    %??
    if ((Xj(1)-Xsum(1,1))>0)&((Xj(2)-Xsum(1,2))>0)%??????????????????????????????????????
       K=j;%??????????????
       break;
       %?????j?
    end%?????if????????????????
end%?????

D130

二维平面内无人机的路径规划——势场法-改进相关推荐

  1. 基于人工势场法的二维平面内无人机的路径规划的matlab仿真,并通过对势场法改进避免了无人机陷入极值的问题

    目录 1.算法描述 2.matlab算法仿真效果 3.MATLAB核心程序 4.完整MATLAB 1.算法描述 人工势场法原理是:首先构建一个人工虚拟势场,该势场由两部分组成,一部分是目标点对移动机器 ...

  2. 基于Q-learning的无人机三维路径规划(含完整C++代码)

    目录 1.实验目标 2.相关原理 3.实验过程 3.1基于Q-learning的三维模型创建 3.2无人机类.环境类和障碍物类的建立 3.3继承和多态的实现 3.4训练 3.5测试 4.完整代码 ma ...

  3. 【APF三维路径规划】基于matlab人工势场算法无人机三维路径规划【含Matlab源码 168期】

    一.获取代码方式 获取代码方式1: 通过订阅紫极神光博客付费专栏,凭支付凭证,私信博主,可获得此代码. 获取代码方式2: 完整代码已上传我的资源:[三维路径规划]基于matlab人工势场算法无人机三维 ...

  4. 【RRT三维路径规划】基于matlab RRT算法无人机三维路径规划【含Matlab源码 155期】

    一.获取代码方式 获取代码方式1: 通过订阅紫极神光博客付费专栏,凭支付凭证,私信博主,可获得此代码. 获取代码方式2: 完整代码已上传我的资源:[三维路径规划]基于matlab RRT算法无人机三维 ...

  5. 【RRT三维路径规划】基于matlab RRT算法无人机三维路径规划【含Matlab源码 1363期】

    一.获取代码方式 获取代码方式1: 通过订阅紫极神光博客付费专栏,凭支付凭证,私信博主,可获得此代码. 获取代码方式2: 完整代码已上传我的资源:[三维路径规划]基于matlab RRT算法无人机三维 ...

  6. 【ACO三维路径规划】基于matlab蚁群算法无人机三维路径规划【含Matlab源码 1278期】

    一.无人机简介 0 引言 随着现代技术的发展,飞行器种类不断变多,应用也日趋专一化.完善化,如专门用作植保的大疆PS-X625无人机,用作街景拍摄与监控巡察的宝鸡行翼航空科技的X8无人机,以及用作水下 ...

  7. 【PSO三维路径规划】基于matlab粒子群算法无人机三维路径规划【含Matlab源码 015期】

    一.无人机简介 0 引言 随着现代技术的发展,飞行器种类不断变多,应用也日趋专一化.完善化,如专门用作植保的大疆PS-X625无人机,用作街景拍摄与监控巡察的宝鸡行翼航空科技的X8无人机,以及用作水下 ...

  8. 【PSO三维路径规划】基于matlab粒子群算法无人机三维路径规划【含Matlab源码 1260期】

    一.无人机简介 0 引言 随着现代技术的发展,飞行器种类不断变多,应用也日趋专一化.完善化,如专门用作植保的大疆PS-X625无人机,用作街景拍摄与监控巡察的宝鸡行翼航空科技的X8无人机,以及用作水下 ...

  9. 【SSA三维路径规划】基于matlab麻雀算法无人机三维路径规划【含Matlab源码 171期】

    一.无人机简介 0 引言 随着现代技术的发展,飞行器种类不断变多,应用也日趋专一化.完善化,如专门用作植保的大疆PS-X625无人机,用作街景拍摄与监控巡察的宝鸡行翼航空科技的X8无人机,以及用作水下 ...

最新文章

  1. 分享一例脚本发版和tomcat重启脚本
  2. C语言如何编写游戏界面,「分享」C语言如何编写图形界面
  3. Web图形开发,SVG还是VML?
  4. 给开源编译器插入后门
  5. Backtrack5 SQL注入漏洞探测
  6. 1.1 为什么需要 ML 策略-深度学习第三课《结构化机器学习项目》-Stanford吴恩达教授
  7. 使用KubeKey安装K8S集群
  8. 单点登录在项目中的实现 转.
  9. 你们需要的数据集,都给准备好了!
  10. 06 使用bbed提交delete的数据--01
  11. python中deepcopy函数_python – copy.deepcopy使用自定义的__new __()方法在对象上引发TypeError...
  12. Linux(16)-Vim编辑器的使用
  13. php网站导航-国际网址导航系统 v5.0源码
  14. web电商系统、电商平台WEB端交互原型模板、用户中心、会员中心、优惠券、积分、互动社区、运营推广、内容推荐、商品展示、订单流程、订单管理、售后及服务、Axure原型、rp原型、电商原型、商城系统原型
  15. java如何对foo bar调用方法_关于java:如何测试工厂方法传递给构造函数的参数?...
  16. Tomcat 中文乱码
  17. dns服务器 响应超时,DNS 客户端解析超时 - Windows Server | Microsoft Docs
  18. 看到强烈的太阳光你会不由自主的打喷嚏吗?
  19. 突发公共卫生事件应急指挥及决策系统解决方案
  20. Inequalities - Minkowski's inequality

热门文章

  1. RSA的密钥把JAVA格式转换成C#的格式
  2. Algorithm Course Review(7.1)
  3. Windows XP环境下Apache2.2.21和Tomcat7.0.26下的整合
  4. oracle中如何移动数据文件
  5. python中dict和list排序
  6. List Tuple Dictionary 区别
  7. jquery、js父子页面操作总结
  8. jzoj3085. 图的计数
  9. 报表测试用例设计方法总结
  10. 源泉书签,助您管理海量收藏。www.yuanquanshuqian.com 今日更新:支持了导入url为js代码的书签...