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

牛顿-拉夫逊优化算法(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.mzph.cn/news/873597.shtml

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

相关文章

制造运营管理系统(MOM系统),企业实现先进制造的关键一步

随着全球制造业的快速发展&#xff0c;企业对于生产效率和成本控制的要求日益增高。在这个背景下&#xff0c;制造运营管理系统&#xff08;MOM系统&#xff09;成为了企业提升竞争力的关键工具。盘古信息作为业内领先的智能制造解决方案提供商&#xff0c;其MOM系统更是以其卓…

首批通过 | 百度通过中国信通院H5端人脸识别安全能力评估工作

2024年5月&#xff0c;中国信息通信研究院人工智能研究所依托中国人工智能产业发展联盟安全治理委员会&#xff08;AIIA&#xff09;、“可信人脸应用守护计划”及多家企业代表共同开展《H5端人脸识别线上身份认证安全能力要求及评估方法》的编制工作&#xff0c;并基于该方法开…

大数据时代,如何用Scikit-Learn高效转换数据?

大数据时代&#xff0c;如何用Scikit-Learn高效转换数据&#xff1f; 在数据科学领域&#xff0c;数据预处理是至关重要的一步。Scikit-Learn&#xff08;简称sklearn&#xff09;&#xff0c;作为Python中最受欢迎的机器学习库之一&#xff0c;提供了一系列的数据转换工具&am…

COD论文笔记 Deep Gradient Learning for Efficient Camouflaged 2022

动机 这篇论文的动机在于解决伪装目标检测(COD)中的一个关键问题&#xff1a;在复杂背景下&#xff0c;伪装目标与背景的边界模糊&#xff0c;使得检测变得极其困难。现有的方法&#xff0c;如基于边界或不确定性的模型&#xff0c;通常仅响应于伪装目标的稀疏边缘&#xff0c…

DM数据库导出excel表结构

select utc.column_name 字段名, utc.data_type 字段类型, utc.data_length 数据长度, utc.data_precision 数据精度, utc.nullable 是否为空 , ucc.comments 备注 from user_tab_columns utc,user_col_comments ucc where utc.column_name ucc.column_name and utc.Table_Nam…

.NET单元测试使用AutoFixture按需填充的方法总结

AutoFixture是一个.NET库&#xff0c;旨在简化单元测试中的数据设置过程。通过自动生成测试数据&#xff0c;它帮助开发者减少测试代码的编写量&#xff0c;使得单元测试更加简洁、易读和易维护。AutoFixture可以用于任何.NET测试框架&#xff0c;如xUnit、NUnit或MSTest。 默…

如何定位Milvus性能瓶颈并优化

假设您拥有一台强大的计算机系统或一个应用&#xff0c;用于快速执行各种任务。但是&#xff0c;系统中有一个组件的速度跟不上其他部分&#xff0c;这个性能不佳的组件拉低了系统的整体性能&#xff0c;成为了整个系统的瓶颈。在软件领域中&#xff0c;瓶颈是指整个路径中吞吐…

价格战再起:OpenAI 发布更便宜、更智能的 GPT-4o Mini 模型|TodayAI

OpenAI 今日推出了一款名为 GPT-4o Mini 的新模型&#xff0c;这款模型较轻便且成本更低&#xff0c;旨在为开发者提供一个经济实惠的选择。与完整版模型相比&#xff0c;GPT-4o mini 在成本效益方面表现卓越&#xff0c;价格仅为每百万输入 tokens 15 美分和每百万输出 tokens…

某4G区域终端有时驻留弱信号小区分析

这些区域其实是长时间处于连接态的电信卡4G终端更容易出现。 出现问题时都是band1 100频点下发了针对弱信号的1650频点的连接态A4测量事件配置&#xff08;其阈值为-106&#xff09;。而这个条件很容易满足&#xff0c;一旦下发就会切到band3 1650频点。 而1650频点虽然下发ban…

区块链技术和系统;ZKRollup ;区块链交易打包和审查

目录 区块链技术和系统 ZKRollup 的基本概念和运作原理 基本概念 运作原理 交易打包和审查 一、交易打包 二、交易审查 区块链技术和系统 区块链技术作为一种去中心化、不可篡改且高度安全的分布式账本技术,近年来在金融科技、供应链管理、物联网、版权保护、投票系统…

神经网络之卷积神经网络

目录 一、卷积神经网络概述&#xff1a;1.卷积层&#xff1a;1.1卷积核与神经元&#xff1a;1.2卷积层作用&#xff1a;1.3多通道概念&#xff1a; 2.池化层&#xff1a;2.1池化层作用&#xff1a; 3.隐藏层与卷积层、池化层关系&#xff1a; 一、卷积神经网络概述&#xff1a;…

vue3 页面引入组件

子组件内容 注意这里的 name: "Rabbitmq"&#xff0c;要与下面引用的时候一致 <template><div><!-- 你的组件内容 --><div slot"footer" class"dialog-footer"><el-button type"primary" click"sub…

Flutter TextFiled频繁采集“剪切板信息”

在使用Flutter开发者&#xff0c;输入框是必不可少的功能&#xff0c;最近产品出了需要&#xff0c;要求输入框记住用户登录过的手机号&#xff0c;并在输入框输入时提示出来&#xff0c;这是个很基础的功能&#xff0c;但是在通过测试验收发布到应用市场时&#xff0c;被Vivo拒…

求职学习day6

起来还是刷了一小时视频。还是没办法元气满满的起床。 一个新的集中注意力的办法&#xff0c;屏幕使用时间限制。 计划 CodeTop 面试题目总结 接下来的刷题主要是codetop100 9:40-10:20主要练习自我介绍。 面试到11点&#xff0c;开始做平安的题目&#xff0c;然后去广州…

谷粒商城实战笔记-35-前端基础-ES6-模块化

文章目录 一&#xff0c;什么是模块化二&#xff0c;export1. export语法2. 批量导出3. 默认导出 三&#xff0c;import1&#xff0c;import语法2&#xff0c;批量导入 一&#xff0c;什么是模块化 模块化编程是一种软件设计技术&#xff0c;它将程序分解为独立的、可复用的部…

克隆的TrinityCore服务器网速慢卡顿问题的解决(未解决)

一台TrinityCore服务器&#xff0c;采用的是备份克隆安装的方式&#xff0c;在FreeBSD bhyve 中安装Ubuntu&#xff0c;安装细节见如下两篇文档&#xff1a;尝试在FreeBSD 的jail、bhyve里安装TrinityCore-CSDN博客 备份和镜像TrinityCore_魔兽世界 updating auth database...…

Spring Boot项目中使用MyBatis Generator (MBG) 自动生成Mapper文件

Spring Boot项目中使用MyBatis Generator (MBG) 自动生成Mapper文件可以很大程度上减少编码。本文着重介绍如何在实战中使用MGB自动生成Mapper文件 1. 添加MyBatis Generator依赖 在pom.xml中添加必要的依赖 <dependency><groupId>org.mybatis.spring.boot</…

uniapp中给data中的变量赋值报错

排查了一上午&#xff0c;原本以为是赋值的这个变量有一个键名是空字符串的问题&#xff0c;后来发现是因为在data中定义变量是写的是{}&#xff0c;如果写成null就不会报错了&#xff0c;具体原因不清楚为什么

逻辑回归(Logistic Regression,LR)

分类和回归是机器学习的两个主要问题。 分类处理的是离散数据回归处理的是连续数据 线性回归&#xff1a;回归 拟合一条线预测函数&#xff1a; 逻辑回归&#xff1a;分类——找到一条线可以将不同类别区分开 虽然称为逻辑回归&#xff0c;但是实际是一种分…

2024 HNCTF PWN(hide_flag Rand_file_dockerfile Appetizers TTOCrv_)

文章目录 参考hide_flag思路exp Rand_file_dockerfile libc 2.31思路exp Appetizers glibc 2.35绕过关闭标准输出实例客户端 关闭标准输出服务端结果exp TTOCrv_&#x1f3b2; glibc 2.35逆向DT_DEBUG获得各个库地址随机数思路exp 参考 https://docs.qq.com/doc/p/641e8742c39…