基于牛顿-拉夫逊优化算法(Newton-Raphson-based optimizer, NBRO)的无人机三维路径规划

news2024/9/21 4:38:46

牛顿-拉夫逊优化算法(Newton-Raphson-based optimizer, NBRO)是一种新型的元启发式算法(智能优化算法),该成果由Sowmya等人于2024年2月发表在中科院2区Top SCI期刊《Engineering Applications of Artificial Intelligence》上。

1、算法原理

NRBO受到Newton-Raphson方法的启发,它使用两个规则:Newton-Raphson搜索规则(NRSR)和陷阱避免算子(TAO)以及几组矩阵来探索整个搜索过程,以进一步探索最佳结果。NRSR使用Newton-Raphson方法来提高NRBO的探索能力,并提高收敛速度以达到改进的搜索空间位置。TAO帮助NRBO避免局部最优陷阱,具体算法原理及位置更新可看这篇文章:
2024年新算法-牛顿-拉夫逊优化算法(NRBO)-公式原理详解 Matlab代码免费获取

2、三维路径规划

(1)路径长度代价
本文选择最小化路径长度判断路径是否最优。无人机是通过地面控制站控制的,因此无人机的飞行路径 C i C_i Ci表示由n个航点组成的列表,每一个航点对应路径规划搜索地图中的一个路径节点。假设共有i条飞行路径, j j j个路径节点,每个节点坐标可以表示为 P i j ( x i j , y i j , z i j ) P_{ij}( x_{ij}, y_{ij}, z_{ij}) Pij(xij,yij,zij) , 因此路径长度代价 T 1 T_{_1} T1
T 1 ( C i ) = ∑ j = 1 n − 1 P i , j P i , j + 1 → T_1(C_i)=\sum_{j=1}^{n-1}\overrightarrow{P_{i,j}P_{i,j+1}} T1(Ci)=j=1n1Pi,jPi,j+1
(2)障碍物威胁代价
除了路径长度最优之外,路径规划中的路径还必须要确保无人机的安全运行,因此,引人障碍物威胁代价能够引导无人机躲避实际操作环境中的障碍物。假设飞行过程共有 κ \kappa κ个障碍物,用圆柱体来模拟飞行过程中遇到的障碍物,将无人机大小考虑为直径D,每一个障碍物投影的中心坐标点为 O k O_k Ok ,半径为 R k R_k Rk
图1 障碍物投影
图1 障碍物投影
对于一条给定的从节点1到节点2的路径段,飞行的安全距离为 S,相邻两个路径节点与 O k O_k Ok的垂直距离为 d k d_k dk ,即无人机必须限定在阴影之外的区域飞行,才确保飞行的安全。此时第 i 条路径的障碍物威胁代价 T 2 T_{2} T2
T 2 ( C i ) = { ∑ j = 1 n − 1 ∑ K = 1 K max ⁡ ( S + D + R K ) − d K D + R K < d K ⩽ S + D + R K 0 d K > S + D + R K ∞ d K ⩽ D + R K T_2(\boldsymbol{C}_i)=\begin{cases}\sum_{j=1}^{n-1}\sum_{K=1}^{K_{\max}}(S+D+R_K)-d_K&D+R_K<d_K\leqslant S+D+R_K\\\\0&d_K>S+D+R_K\\\\\infty&d_K\leqslant D+R_K\end{cases} T2(Ci)= j=1n1K=1Kmax(S+D+RK)dK0D+RK<dKS+D+RKdK>S+D+RKdKD+RK
(3)航行高度代价
无人机的平稳飞行决定了路径的平滑程度,稳定的飞行高度不仅能够规划平稳的飞行路径,而且有助于节省燃料,一定程度上减轻了无人机控制系统的负担。另外,在无人机的实际应用中,飞行高度经常被限制在两个给定的极值之间,即必须在适当的高度巡航才能满足测量、航拍及搜索应用等要求。假设最小和最大高度分别为 h m i n h_{min} hmin h m a x h_{max} hmax ,则航行高度代价 T 3 T_3 T3
T 3 (   C i )   = ∑ j = 1 n   H i j H i j = { h min ⁡ − h i j h i j < h min ⁡ 0 h min ⁡ ⩽ h i j ⩽ h max ⁡ h i j − h max ⁡ h i j > h max ⁡ T_3(\:C_i)\:=\sum_{j=1}^n\:H_{ij}\\H_{ij}=\begin{cases}h_{\min}-h_{ij}&h_{ij}<h_{\min}\\0&h_{\min}\leqslant h_{ij}\leqslant h_{\max}\\h_{ij}-h_{\max}&h_{ij}>h_{\max}\end{cases} T3(Ci)=j=1nHijHij= hminhij0hijhmaxhij<hminhminhijhmaxhij>hmax
式中, h i j h_{ij} hij为相对于地面的飞行高度。综合路径最优代价、障碍物威胁代价和航行高度代价 ,得到的路径适应度函数为 T 3 T_{3} T3
T 3 (   C i )   =   ∑ j = 1 n   H i j H i j = { h min ⁡ − h i j h i j < h min ⁡ 0 h min ⁡ ⩽ h i j ⩽ h max ⁡ h i j − h max ⁡ h i j > h max ⁡ T_3(\:C_i)\:=\:\sum_{j=1}^n\:H_{ij}\\H_{ij}=\begin{cases}h_{\min}-h_{ij}&h_{ij}<h_{\min}\\0&h_{\min}\leqslant h_{ij}\leqslant h_{\max}\\h_{ij}-h_{\max}&h_{ij}>h_{\max}\end{cases} T3(Ci)=j=1nHijHij= hminhij0hijhmaxhij<hminhminhijhmaxhij>hmax
式中, h i j h_{ij} hij为相对于地面的飞行高度。综合路径最优代价、障碍物威胁代价和航行高度代价 ,得到的路径适应度函数为
T ( C i )   = b 1 T 1 ( C i )   + b 2 T 2 ( C i )   + b 3 T 3 ( C i ) T(\boldsymbol{C}_i)\:=b_1T_1(\boldsymbol{C}_i)\:+b_2T_2(\boldsymbol{C}_i)\:+b_3T_3(\boldsymbol{C}_i) T(Ci)=b1T1(Ci)+b2T2(Ci)+b3T3(Ci)
式中 b 1 , b 2 , b 3 b_1,b_2,b_3 b1,b2,b3为[0,10]之间的权重系数,通过调整权重系数,满足不同应用的路径要求。如航拍需要无人机稳定飞行在一定的高度上,则可适当增加航行高度代价的权重系数 b 3 b_{3} b3 ,部分代码如下:

%% 威胁区域绘制
%威胁区域中心坐标
ThreatAreaPostion = [120,120];
%威胁区域半径
ThreatAreaRadius = 30;
%将威胁区域叠加到图上
figure
mesh(Map);
hold on;
for i= 1:size(ThreatAreaRadius)
    [X,Y,Z] = cylinder(ThreatAreaRadius(i),50);
    X = X + ThreatAreaPostion(i,1);
    Y = Y + ThreatAreaPostion(i,2);
    Z(2,:) = Z(2,:) + 50;%威胁区域高度
    mesh(X,Y,Z)
end
%% 设置起始点和终止
startPoint = [50,0,10];
endPoint = [200,200,20];

plot3(startPoint(1),startPoint(2),startPoint(3),'ro');
text(startPoint(1),startPoint(2),startPoint(3),'起点','Color','k','FontSize',15)
plot3(endPoint(1),endPoint(2),endPoint(3),'r*');
text(endPoint(1),endPoint(2),endPoint(3),'终点','Color','k','FontSize',15)
title('地图信息')

3、运行结果

在这里插入图片描述

朱润泽,赵静,蒋国平,等.基于改进粒子群算法的无人机三维路径规划[J].南京邮电大学学报(自然科学版),1-10[2024-07-17].

完整代码下载:

基于牛顿-拉夫逊优化算法(Newton-Raphson-based optimizer, NBRO)的无人机三维路径规划

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1936934.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

(vue)Vue读取public中的json文件,打包后只需更改包文件

(vue)Vue读取public中的json文件,打包后只需更改包文件 背景&#xff1a;增加账号需求。原本是在页面&#xff0c;每次都需技术人员添加再打包部署&#xff0c;现在放到json里&#xff0c;以后直接服务器改json就行。 旧版&#xff1a; let userArr [{username:aaa,password:…

系统架构设计师教程 第3章 信息系统基础知识-3.7 企业资源规划(ERP)-解读

系统架构设计师教程 第3章 信息系统基础知识-3.7 企业资源规划&#xff08;ERP&#xff09; 3.7.1 企业资源规划的概念3.7.2 企业资源规划的结构3.7.2.1 生产预测3.7.2.2 销售管理&#xff08;计划&#xff09;3.7.2.3 经营计划&#xff08;生产计划大纲&#xff09;3.7.2.4 …

IDEA双击卡住打不开问题解决

双击idea图标一直卡在这个页面 解决方案: 随便找个文件 edit with intellij idea打开 删除最近安装的插件 apply 然后重启

C++容器之array

C array容器 特点 array是固定大小数组。 C中&#xff0c;array是一个模板类&#xff0c;提供了数组的功能&#xff0c;在许多方面比原始的 C 风格数组更为强大和灵活。 主要特点 固定大小: std::array 的大小在编译时确定&#xff0c;运行时无法修改。包含全部 STL 功能:…

神经网络之循环神经网络

目录 一、循环神经网络概述&#xff1a;1.传统神经网络与循环神经网络的区别&#xff1a;2.循环神经网络定义&#xff1a; 图片来自&#xff1a;深度学习———循环神经网络 一、循环神经网络概述&#xff1a; 1.传统神经网络与循环神经网络的区别&#xff1a; MLP、卷积神经…

【单目3D检测】smoke(1):模型方案详解

纵目发表的这篇单目3D目标检测论文不同于以往用2D预选框建立3D信息&#xff0c;而是采取直接回归3D信息&#xff0c;这种思路简单又高效&#xff0c;并不需要复杂的前后处理&#xff0c;而且是一种one stage方法&#xff0c;对于实际业务部署也很友好。 题目&#xff1a;SMOKE&…

【LabVIEW作业篇 - 4】:属性节点赋值和直接节点赋值的区别体现

文章目录 属性节点赋值和直接节点赋值的区别体现 属性节点赋值和直接节点赋值的区别体现 创建5个圆形指示灯&#xff0c;然后循环点亮&#xff0c;先给圆形指示灯赋值假变量&#xff0c;然后再进行循环。 运行结果&#xff0c;观察结果&#xff0c;发现刚开始运行时&#xff0…

Unity | Shader基础知识(第十九集:顶点着色器的进一步理解-易错点讲解)

目录 一、前言 二、网格 三、方法UnityObjectToClipPos 四、顶点着色器和片元着色器的POSITION 五、作者的碎碎念 一、前言 之前我们简单讲解过顶点着色器&#xff0c;也简单讲解了表面着色器&#xff0c;并且一起做了一些案例&#xff0c;因为顶点着色器本身是更自由一些…

云计算实训09——rsync远程同步、自动化推取文件、对rsyncd服务进行加密操作、远程监控脚本

一、rsync远程同步 1.rsync基本概述 &#xff08;1&#xff09;sync同步 &#xff08;2&#xff09;async异步 &#xff08;3&#xff09;rsync远程同步 2.rsync的特点 可以镜像保存整个目录树和文件系统 可以保留原有权限&#xff0c;owner,group,时间&#xff0c;软硬链…

IDEA的工程与模块管理

《IDEA破解、配置、使用技巧与实战教程》系列文章目录 第一章 IDEA破解与HelloWorld的实战编写 第二章 IDEA的详细设置 第三章 IDEA的工程与模块管理 第四章 IDEA的常见代码模板的使用 第五章 IDEA中常用的快捷键 第六章 IDEA的断点调试&#xff08;Debug&#xff09; 第七章 …

Harbor系列之1:介绍、架构及工作流程说明

Harbor介绍、架构及工作流程说明 Harbor 是一个用于存储、签名和扫描内容的企业级容器镜像注册表项目。由 VMware 开发并于 2016 年开源。Harbor 提供了一些关键特性&#xff0c;使其成为企业使用的理想选择。 1. Harbor 介绍 1.1 什么是 Harbor Harbor 是一个开源的云原生…

Python酷库之旅-第三方库Pandas(034)

目录 一、用法精讲 101、pandas.Series.__array__魔法方法 101-1、语法 101-2、参数 101-3、功能 101-4、返回值 101-5、说明 101-6、用法 101-6-1、数据准备 101-6-2、代码示例 101-6-3、结果输出 102、pandas.Series.get方法 102-1、语法 102-2、参数 102-3、…

ETL数据同步之DataX,附赠一套DataX通用模板

今天跟大家分享数据同步datax的模板&#xff0c;小伙伴们简单直接借鉴使用。 还记得上一篇关于大数据DS调度工具的分享嘛&#xff1f; 主流大数据调度工具DolphinScheduler之数据ETL流程-CSDN博客 里面的核心就是采用了DATAX的数据同步原理。 一&#xff0c;什么是DataX D…

linux远程主机和windows互传

一.winscp 最简单&#xff0c;但有时候会出现连不上 二 .MobaXterm 可以选择多种连接方式 二. 配置samba服务器 1. 新增samba用户 sudo pdbedit -L -v 查看当前samba用户 sudo smbpasswd -a guoziyi 添加samba用户 sudo smbpasswd -x guoziyi 删除samba用户 2. 编辑/etc…

LabVIEW多串口通信

随着现代工业控制对数据采集和处理效率的要求不断提升&#xff0c;传统的单串口通信已无法满足多通道数据传输与大规模数据存取的需求。开发一种基于LabVIEW的多串口通信及数据存储系统&#xff0c;以提升数据处理速度和存储效率&#xff0c;保障生产线的稳定运行显得尤为重要。…

常见排序算法总结

文章目录 比较排序冒泡排序选择排序插入排序归并排序快速排序堆排序希尔排序 非比较排序&#xff08;桶排序&#xff09;计数排序基数排序 比较排序 冒泡排序 嵌套循环&#xff0c;每次内层循环执行时&#xff0c;数组的每两个元素交换&#xff0c;将一个最大/小的数排到数组…

语音合成-TTS文字转语音(专业版)

语音合成-TTS文字转语音(专业版) 一、工具简介 *使用强大的智能AI语音库&#xff0c;合成独具特色接近真人语音的朗读音频。 *使用极具表现力和类似人类的声音&#xff0c;使文本阅读器和已启用语音的助理等方案栩栩如生。 *用途&#xff1a;这个语音工具&#xff0c;不仅可…

「实战应用」如何用DHTMLX将上下文菜单集成到JavaScript甘特图中(三)

DHTMLX Gantt是用于跨浏览器和跨平台应用程序的功能齐全的Gantt图表。可满足项目管理应用程序的所有需求&#xff0c;是最完善的甘特图图表库。 DHTMLX Gantt是一个高度可定制的工具&#xff0c;可以与项目管理应用程序所需的其他功能相补充。在本文中您将学习如何使用自定义上…

LeetCode岛屿的最大面积(深度搜索)/什么是深搜,简单案例回顾图用邻接表实现图的深度优先遍历。

看这道题不懂深度搜索的可以看看下面讲述 岛屿的最大面积 解题思路 代码 class Solution {int dfs(vector<vector<int>>& grid, int cur_i, int cur_j) {//确定边界if((cur_i >0 && cur_i < grid.size()) && (cur_j >0 &&…

【C语言】 作业11 链表+实现函数封装

递归实现链表数据互换&#xff0c;纯不会&#xff0c;明天再说 1、链表实现以下功能 链表&#xff0c;创建链表&#xff0c;申请节点&#xff0c;判空&#xff0c;头插&#xff0c;遍历输出&#xff0c;通过位置查找节点&#xff0c;任意位置插入&#xff0c;头删&#xff0c;…