目录

1.算法描述

2.matlab算法仿真效果

3.MATLAB核心程序

4.完整MATLAB


1.算法描述

人工势场法原理是:首先构建一个人工虚拟势场,该势场由两部分组成,一部分是目标点对移动机器人产生的引力场,方向由机器人指向目标点,另一部分是障碍物对移动机器人产生的斥力场,方向为由障碍物指向机器人。运行空间的总势场为斥力场和引力场共同叠加作用,从而通过引力和斥力的合力来控制移动机器人的移动。

物理学的势(potential),也称做“位”,是一种能量概念。在保守场里,把一个单位质点(如重力场中的单位质量,静电场中的单位正电荷)从场中的某一点A移到参考点,场力所作的功是一个定值。也就是说,在保守场中,单位质点在A点与参考点的势能之差是一定的,人们把这个势能差定义为保守场中A点的“势”。

人工势场法路径规划是由Khatib提出的一种虚拟力法(Oussama Khatib,Real-Time Obstacle Avoidance for Manipulators and Mobile Robots. Proc of The 1985 IEEE.)。它的基本思想是将机器人在周围环境中的运动,设计成一种抽象的人造引力场中的运动,目标点对移动机器人产生“引力”,障碍物对移动机器人产生“斥力”,最后通过求合力来控制移动机器人的运动。应用势场法规划出来的路径一般是比较平滑并且安全,但是这种方法存在局部最优点问题。

人工势场就像构建了一个吸铁石,包括引力场和斥力场。黑色为障碍物,箭头为智能体要运动的方向,目标点为“Goal”。智能体按照箭头的方向到达“Goal”,目标点像有着“吸引力”一样吸引着智能体靠近。而在障碍物附近,智能体逆着箭头的方向,好像对智能体产生“排斥力”。智能体前进的方向就是这两种力的合力的方向。


 

当然仅仅只有引力势场是不够的,我们还需要让机器人懂得避开地图中的障碍物,这时斥力势场便有用武之地了,斥力势场的会构建一个距离障碍物越近,斥力越大的特殊势场。 这个过程其实非常好理解,引力势场负责吸引机器人从起点朝着终点运动,斥力势场负责规避地图中的障碍。 通常我们会用下面这个函数来构建斥力势场:

人工势场法路径规划是由Khatib提出的一种虚拟力法(Oussama Khatib,Real-Time Obstacle Avoidance for Manipulators and Mobile Robots. Proc of The 1985 IEEE.)。它的基本思想是将机器人在周围环境中的运动,设计成一种抽象的人造引力场中的运动,目标点对移动机器人产生“引力”,障碍物对移动机器人产生“斥力”,最后通过求合力来控制移动机器人的运动。应用势场法规划出来的路径一般是比较平滑并且安全,但是这种方法存在局部最优点问题。

人工势场法是一种经典的机器人路径规划算法。该算法将目标和障碍物分别看做对机器人有引力和斥力的物体,机器人沿引力与斥力的合力来进行运动。

(a) 当物体离目标点比较远时,引力将变的特别大,相对较小的斥力在甚至可以忽略的情况下,物体路径上可能会碰到障碍物
(b)当目标点附近有障碍物时,斥力将非常大,引力相对较小,物体很难到达目标点
(c)在某个点,引力和斥力刚好大小相等,方向想反,则物体容易陷入局部最优解或震荡
       人工势场法(Artificial Potential Field)简称 APF,属于局部路径规划中常使用的一种方法。将传统力学中“场”的概念引入该方法,假设让智能体在这种虚拟力场下进行运动。如何设计引力场影响着该算法的性能,同时存在容易陷入局部极小点的局限性。

2.matlab算法仿真效果

matlab2017b仿真结果如下:

3.MATLAB核心程序

%
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=1Xj[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);%GoalGoal(j,2)=Xj(2);
%Theta=compute_angle(Xj,Xsum,n);%ThetaX
%Angle=Theta(1);%Theta1angle_at=Theta(1);%angle_at[Fatx,Faty]=compute_Attract(Xj,Xsum,k,Angle,0,Po,n);%x,yfor i=1:nangle_re(i)=Theta(i+1);%nnend
%[Frerxx,Freryy,Fataxx,Fatayy]=compute_repulsion(Xj,Xsum,m,angle_at,angle_re,n,Po,a);%x,y
%jFsumyj=Faty+Freryy+Fatayy;%yFsumxj=Fatx+Frerxx+Fataxx;%xPosition_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;%jend%if
end%
A79

4.完整MATLAB

V

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

  1. 二维平面内无人机的路径规划——势场法-改进

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

  2. 【无人机三维路径规划】基于蚁群算法实现无人机三维路径规划含Matlab代码

    ⛄ 内容介绍 随着无人机可执行任务的多样化,航迹规划成为其顺利完成任务的基本前提.针对该问题,提出了基于蚁群算法的无人机航迹规划方法.运用等效地形模拟方法,将作战区域中的敌方威胁.地形障碍等效为山峰, ...

  3. 基于人工鱼群算法实现无人机三维路径规划含Matlab代码

    ✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信.

  4. 基于人工势场法的路径规划

    基于人工势场法的路径规划 \qquad 路径规划是移动机器人领域的一个重要组成部分,人工势场法是机器人路径规划算法中一种简单有效的方法. \qquad 势场法的基本思想是在移动机器人的工作环境中构造一 ...

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

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

  6. 基于人工势场法和果蝇优化算法的路径规划(Matlab代码实现)

    目录 1 概述 2 运行结果 2.1 算例1 2.2 算例2   3 Matlab代码实现  4 参考文献 1 概述 近年来,智能机器人逐渐应用于医疗服务﹑航空等众多领域.路径规划作为机器人实现智能自 ...

  7. 基于人工势场和虚拟领航者的多智能体协同控制研究

    人工势场法的国内外研究现状 目前,路径规划的方法主要有:人工势场法.人工智能法.全局搜索法和滚动规划法等.这几种方法中,只有人工势场法比较容易实现,其他几种方法都较难实现.人工势场法不仅仅能够实现路径 ...

  8. Python_Turtle绘制余弦函数(采用一维线描法绘制二维平面)(turtle实现)【2021-12-19】

    Python_Turtle绘制余弦函数(采用一维线描法绘制二维平面)(turtle实现) 1.LineToFaceCos.py 2.结果示例 [注1]采用线动成面的原理,使用一维线去绘制二维平面图形! ...

  9. 【ABC三维路径规划】基于matlab人工蜂群算法多无人机三维路径规划【含Matlab源码 170期】

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

最新文章

  1. 英语写作中常见语法总结(一)
  2. 第05课:神经网络基础知识
  3. python制作点亮图片_MicroPython拼插编程实例:点亮心形8x8点阵
  4. [CF1107E]Vasya and Binary String【区间DP】
  5. java中string类的常用方法举例说明
  6. php 非聚集锁引,sql数据库聚集索引和非聚集索引示例
  7. sony a7 android,摄影 篇一:SONY A7R4利用ftp传输直传照片到安卓设备,完爆app体验
  8. iPhone手机使用:手机上面的App Store突然变成英文(iTunes也是英文),然后把英文还原成中文的方法
  9. 爱普生CH-TW5700T和爱普生CH-TW5800T好不好?配置怎么样?
  10. 国科大计算机体系结构考试专用
  11. connect的中文意思是什么_connect的用法和短语例句意思是什么
  12. Calendar 获取指定时间
  13. 博弈论--从 必胜点与必败点 到 SG 函数
  14. 云信小课堂|如何实现音视频安全检测?
  15. 从新建文件夹开始构建ShadowPlay Engine游戏引擎(4)
  16. 2019榆次初三计算机考试时间,2019年晋中中考考试时间安排,晋中中考考试科目科目...
  17. 高等数学 · 空间解析几何与向量代数理论笔记小结
  18. 计算机发论文攻略(收藏)
  19. 科大讯飞:电信客户流失预测挑战赛baseline
  20. 互联网科普-淘宝的聚划算(团购C2B)

热门文章

  1. Confluence 6 Duplicate Key 相关问题解决
  2. Js/es for(let i in Obj)效率分析及优化
  3. 微信小程序 - 设置背景图
  4. 游久刘亮:从最具草莽气质的80后 到上市公司CEO
  5. 二叉树前序遍历、中序遍历、后序遍历、层序遍历的直观理解
  6. 新零售mysql设计 订单表 订单详情表
  7. 《C语言入门100例》第二例 数列求和
  8. 自行車基本知識 (zz)
  9. 1000句最常用英语口语 (501~999)
  10. 3点内容介绍什么是物联网模组