一、获取代码方式

获取代码方式1:
通过订阅紫极神光博客付费专栏,凭支付凭证,私信博主,可获得此代码。

获取代码方式2:
通过紫极神光博客主页开通CSDN会员,凭支付凭证,私信博主,可获得此代码。

获取代码方式3:
完整代码已上传我的资源:【三维路径规划】基于matlab人工势场算法无人机三维路径规划【含Matlab源码 168期】

备注:开通CSDN会员,仅只能免费获得1份代码(有效期为开通日起,三天内有效);
订阅紫极神光博客付费专栏,可免费获得2份代码(有效期为订阅日起,三天内有效);

二、无人机简介

0 引言
随着现代技术的发展,飞行器种类不断变多,应用也日趋专一化、完善化,如专门用作植保的大疆PS-X625无人机,用作街景拍摄与监控巡察的宝鸡行翼航空科技的X8无人机,以及用作水下救援的白鲨MIX水下无人机等,决定飞行器性能主要是内部的飞控系统和外部的路径规划问题。就路径问题而言,在具体实施任务时仅靠操作员手中的遥控器控制无人飞行器执行相应的工作,可能会对操作员心理以及技术提出极高的要求,为了避免个人操作失误,进而造成飞行器损坏的危险,一种解决问题的方法就是对飞行器进行航迹规划。
飞行器的测量精度,航迹路径的合理规划,飞行器工作时的稳定性、安全性等这些变化对飞行器的综合控制系统要求越来越高。无人机航路规划是为了保证无人机完成特定的飞行任务,并且能够在完成任务的过程中躲避各种障碍、威胁区域而设计出最优航迹路线的问题。

1 常见的航迹规划算法

图1 常见路径规划算法
文中主要对无人机巡航阶段的航迹规划进行研究,假设无人机在飞行中维持高度与速度不变,那么航迹规划成为一个二维平面的规划问题。在航迹规划算法中,A算法计算简单,容易实现。在改进A算法基础上,提出一种新的、易于理解的改进A算法的无人机航迹规划方法。传统A算法将规划区域栅格化,节点扩展只限于栅格线的交叉点,在栅格线的交叉点与交叉点之间往往存在一定角度的两个运动方向。将存在角度的两段路径无限放大、细化,然后分别用两段上的相应路径规划点作为切点,找到相对应的组成内切圆的圆心,然后作弧,并求出相对应的两切点之间的弧所对应的圆心角,根据下式计算出弧线的长度

式中:R———内切圆的半径;
α———切点之间弧线对应的圆心角。

二、人工势场算法简介

人工势场算法之所以无法适应复杂的环境, 是因为斥力场系数、引力场系数在计算时是固定不变的。
1 人工势场法基本原理
人工势场法的实质是对无人机的飞行区域人为地定义势场[17], 该势场为地图中出现的障碍物斥力场和终点引力场的向量叠加。传统人工势场的定义如下:
假设无人机的位置为X= (x, y, z) , 则目标点引力场与无人机电子之间的电势场为

式中:Katt为势场增益系数;XG为目标点的位置。
定义Fatt (X) 为引力势场的引力,

定义障碍物的斥力势场为

定义障碍物的斥力为

式中:Frep为障碍物对无人机的斥力势场系数;X-X0的单位是m, 表示移动的无人机到各个障碍物的动态距离;ρ0为障碍物的影响距离。所以移动的无人机像一个电子一样, 它的总势场为无人机与障碍物各个势场的和:

对无人机的作用力Ftotal为

由式 (6) 可以算出无人机的下一步运动轨迹。

虽然人工势场法有很多优点, 但是在实际飞行中, 环境比较复杂的时候, 经常出现障碍物在目标位置附近的情况, 当无人机向目标点飞行时, Fatt减小Frep增大, 此时会出现无人机在终点区域拐弯的情况;当无人机处在障碍物运动时, 可能出现无人机处在合力为零点的情况, 因而无人机不能到达目标点。

三、部分源代码

close all
clear alltic
%%
%==========================================================================
%初始化
%==========================================================================
P0 = [0;0;0];%起点位置
n = 7;%障碍个数
Tar = [10;10;10];%%目标点坐标
Obs = [10 10 10;1 1.2 1;3 2.5 3;4 4.5 4;3 6 3;6 2 6;6 6 6;8 8.5 8]';%目标点与障碍位置 第一列是目标点
%%
figure(1);
plot3(Obs(1,2:8),Obs(2,2:8),Obs(3,2:8),'o');hold on;
plot3(Obs(1,1),Obs(2,1),Obs(3,1),'O');
for i=1:5po = i;%障碍影响距离
[P,K]=shi(po,Tar,n,P0,Obs);
%==========================================================================
%画图
%==========================================================================
switch icase 1
plot3(P(1,1:K),P(2,1:K),P(3,1:K),'.b');case 2plot3(P(1,1:K),P(2,1:K),P(3,1:K),'.r'); case 3plot3(P(1,1:K),P(2,1:K),P(3,1:K),'.g');case 4plot3(P(1,1:K),P(2,1:K),P(3,1:K),'.m');otherwiseplot3(P(1,1:K),P(2,1:K),P(3,1:K),'.k');
end
end
toc

四、运行结果

五、matlab版本及参考文献

1 matlab版本
2014a

2 参考文献
[1] 包子阳,余继周,杨杉.智能优化算法及其MATLAB实例(第2版)[M].电子工业出版社,2016.
[2]张岩,吴水根.MATLAB优化算法源代码[M].清华大学出版社,2017.
[3]巫茜,罗金彪,顾晓群,曾青.基于改进PSO的无人机三维航迹规划优化算法[J].兵器装备工程学报. 2021,42(08)
[4]邓叶,姜香菊.基于改进人工势场法的四旋翼无人机航迹规划算法[J].传感器与微系统. 2021,40(07)
[5]马云红,张恒,齐乐融,贺建良.基于改进A*算法的三维无人机路径规划[J].电光与控制. 2019,26(10)
[6]焦阳.基于改进蚁群算法的无人机三维路径规划研究[J].舰船电子工程. 2019,39(03)

【三维路径规划】基于matlab人工势场算法无人机三维路径规划【含Matlab源码 168期】相关推荐

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

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

  2. 【Matlab图像融合】小波变换遥感图像融合【含GUI源码 744期】

    一.代码运行视频(哔哩哔哩) [Matlab图像融合]小波变换遥感图像融合[含GUI源码 744期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1] 包子阳,余 ...

  3. 【Matlab人脸识别】KL变换人脸识别【含GUI源码 859期】

    一.代码运行视频(哔哩哔哩) [Matlab人脸识别]KL变换人脸识别[含GUI源码 859期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1] 蔡利梅.MAT ...

  4. 【Matlab心音信号】EMD心音信号特征提取【含GUI源码 1735期】

    一.代码运行视频(哔哩哔哩) [Matlab心音信号]EMD心音信号特征提取[含GUI源码 1735期] 二.matlab版本及参考文献 1 matlab版本 2014a *2 参考文献 [1] 沈再 ...

  5. 【Matlab图像加密】正交拉丁方置乱算法图像加解密【含GUI源码 182期】

    一.代码运行视频(哔哩哔哩) [Matlab图像加密]正交拉丁方置乱算法图像加解密[含GUI源码 182期] 二.matlab版本及参考文献 一.代码运行视频(哔哩哔哩) [Matlab图像处理]自动 ...

  6. 【Matlab语音隐写】DWT音频数字水印【含GUI源码 712期】

    一.代码运行视频(哔哩哔哩) [Matlab语音隐写]DWT音频数字水印[含GUI源码 712期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1]韩纪庆,张磊, ...

  7. 【Matlab通信】DTMF双音多频电话拨号仿真【含GUI源码 805期】

    一.代码运行视频(哔哩哔哩) [Matlab通信]DTMF双音多频电话拨号仿真[含GUI源码 805期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1] 蔡利梅 ...

  8. 人工势场算法 Matlab版源码

    人工势场算法,用于路径规划 main.m程序 %初始化车的参数 Xo=[0 0];%起点位置 k=15;%计算引力需要的增益系数 K=0;%初始化 m=5;%计算斥力的增益系数,都是自己设定的. Po ...

  9. matlab人工势场法三维演示图,运动规划入门 | 5. 白话人工势场法,从原理到Matlab实现...

    如何利用人工势场进行运动规划? 1.1 引力势场(Attractive Potential Field) 人工势场这个特殊的势场并不是一个单一的场,其实它是由两个场叠加组合而成的,一个是引力场,一个是 ...

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

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

最新文章

  1. 某天没有数据能查出来0数量_用Excel对纽约市出租车费数据探索性分析
  2. Hadoop数据收集与入库系统Flume与Sqoop
  3. Java EE (11) - 影响性能的因素
  4. js 获得radio的值
  5. 【C/C++】异或操作巧妙实现两个数的交换操作
  6. redis怎么修改_面试官问我Redis事务,还问我有哪些实现方式
  7. TensorFlow工具及笔记
  8. 调用打码平台api获取验证码 (C#版)
  9. Jade模板引擎教程
  10. 如何进入DOS系统 | 常用DOS系统命令
  11. python语言的开题报告怎么写_开题报告怎么写
  12. 符号三角形问题 java_算法java实现--回溯法--符号三角形问题
  13. 基于FPGA的交通灯——香樟路
  14. PHP中smart原则,目标smart原则 “smart原则”什么意思?
  15. C++:剑指Offer精讲1.整数除法
  16. sql 获取当前年份的12个月
  17. 旧u盘丢失文件如何恢复
  18. ps制作台式计算机图标,图标制作,用PS制作计算机应用的图标
  19. Linux系统进程的理解与相关命令的使用系列
  20. SOCKET【3】-select+getsockopt客户端检测connect是否成功

热门文章

  1. Markdown简单介绍和基本的语法
  2. Linux下执行程序出现 Text file busy 提示时的处理方式
  3. (转载)php flush()刷新不能输出缓冲的原因分析
  4. 国家自然科学基金申请书写作攻略
  5. 人工智能:模型与算法2搜索求解之启发式搜索
  6. unity3d之kinect 初识
  7. Atitit 项目管理之沟通管理概论问题管理 艾提拉著 跨语言沟通 群组沟通 书面沟通 目录 1. 沟通方式 2 1.1. 书面沟通 vs 当面沟通 2 1.2. 群组沟通(公开沟通) vs
  8. Atitit 单点登录实现几种模式架构图 目录 1. 因此要点也就以下两个:存储信任验证信任 1 1.1. 共享cookie (最简单 1 1.2. 通过 url带token参数跳转 1 1.3.
  9. Aitit aop之道 艾龙著 需要整合zop资料包东西 第1章 AOP的产生         1.1 软件开发方法的演进         1.2 AOP产生的前奏——把系统看做一批关注点
  10. Atitit 理财之道 attilax著 1. 融资 3 1.1. 融资账户余渠道 3 2. 风控 3 3. 3 4. 投资 3 5. 线上财富与资源 3 5.1. Jd流量 飞猪流量 3 5.