基于改进粒子群优化的无人机最优能耗路径规划

目录

  • 1. Introduction
  • 2. Preliminaries
    • 2.1. Particle Swarm Optimization Algorithm
    • 2.2. Deep Deterministic Policy Gradient
    • 2.3. Calculation of the Total Output Power of the Quadcopter Battery
  • 3.OptimalEnergyConsumptionPathPlanningBasedonPSO-DDPG
    • 3.1.ProblemModelling
      • 3.1.1.EnvironmentalModel
      • 3.1.2. Basic PSO Design for Path Planning
    • 3.2. DDPG-Based Parameter Adaptation Method for PSO Algorithm
      • 3.2.1. State Space
      • 3.2.2.ActionSpace
      • 3.2.3.RewardFunction
    • 3.3.PSO-DDPGforPathPlanning
  • 4.SimulationAnalysisandDiscussion
    • 4.1. Experimental Environment
    • 4.2. Case 1: Comparative Analysis under the Different Initial Values of Parameters
    • 4.3. Case 2: Simulation Analysis in Different Terrain Environments
  • 5.Conclusions

笔记作者:
王海博,男,西安工程大学电子信息学院,2024级研究生,张宏伟人工智能课题组
研究方向:模式识别与人工智能
电子邮件:1137460680@qq.com

为了提高无人机在山地地形飞行作业时的能量效率,这篇文章提出了一种基于改进粒子群优化(PSO)算法的最优能量路径规划方法,通过合理的路径规划方法,有效降低无人机在飞行作业过程中的非必要能量消耗。首先,以无人机飞行过程中能量消耗最优为目标,设计了基于粒子群优化算法的三维路径规划方法。然后,针对经典粒子群算法全局搜索能力差、易受局部最优性影响等缺点,提出了一种基于深度确定性策略梯度(DDPG)的参数自适应算法。该方法通过监测粒子群解集的状态,动态调整粒子群算法的主要参数。

原文链接:https://www.mdpi.com/2071-1050/15/16/12101

1. Introduction

无人机(Unmanned aerial vehicle, UAVs)通过机载编程或无线电遥控机构进行控制,在火灾监控、目标跟踪、智能农业、灾害救援等领域得到了广泛的应用。无人机根据翼型分为旋翼无人机和固定翼无人机,旋翼无人机中以四旋翼无人机最为普遍。对四旋翼无人机的偏好源于其优势,如低成本,紧凑的尺寸和高机动性,使其在复杂的环境中运行。尽管有这些优势,四旋翼无人机执行任务的能力往往受到电池功耗的限制。因此,研究在不改变电池容量的情况下优化能量消耗的路径规划算法对于提高四旋翼无人机的航程和效率具有重要意义。
在过去的几年里,许多学者对通过在无人机上安装能量收集装置来延长电池储能寿命进行了研究,并取得了研究成果。
对于无人机来说,路径规划是一个不可或缺的方面,其目标是确定无人机的最佳飞行轨迹,确保其避开周围的任何障碍物和其他飞行器。路径规划技术对于在3D空间中描绘无人机的安全路线至关重要。传统的路径规划算法主要有A*算法、Dijkstra算法、Voronoi图、人工势场法等。这些算法需要预先加载地形环境信息,在地形环境复杂时存在计算量大、容易陷入局部最优的缺点。目前,许多专家使用启发式算法来优化路径规划,并取得了一些成果。需要注意的是,上述算法中参数的调优是在程序执行之前完成的,不能在执行过程中进行调整,因此,如果外部环境发生变化,则无法对算法进行调整,从而影响算法的性能。
鉴于此,本文在参数自适应算法中引入深度强化学习算法模型,提出了一种基于参数自适应的改进粒子群算法,并将其应用于山地地形下无人机的最优能量路径规划。本研究为无人机提供了一种可行的节能路径规划方法,以提高无人机在复杂地形环境下的任务执行效率。本文的主要贡献和创新点可以概括为以下几点:
(1)针对山地地形环境下无人机飞行路径不合理造成的能量浪费问题,提出了综合考虑无人机能耗、飞行成本、地形距离和地形碰撞约束的目标成本函数,将无人机最优耗能路径规划问题简化为基于粒子群算法的目标函数优化问题。
(2)为了解决PSO算法在求解复杂高维问题时容易陷入局部最优的缺点,该文提出一种基于DDPG模型的自适应参数控制方法,有效提高了PSO算法的全局收敛性。
本文其余部分的结构如下:第2节简要介绍了PSO算法的基本模型、DDPG深度强化学习模型以及本文讨论的四旋翼飞行器能耗功率的计算方法。第3节详细描述了所提出的PSODDPG算法及其在路径规划问题中的应用。第4节介绍了模拟实验环境以及与其他类似算法的比较分析。最后,第5部分给出了本文的结论。

2. Preliminaries

在本节中,介绍了一些基本的数学符号和算法模型。

2.1. Particle Swarm Optimization Algorithm

粒子群优化算法(Particle Swarm Optimization, PSO)是一种典型的群体智能优化算法,由Kennedy博士和Eberhart博士于1995年首次提出。粒子群算法将粒子的自我经验和社会经验相结合,以粒子的形式导出候选解。该优化方法在搜索空间中使用飞行粒子集合,并向有希望的区域移动,以获得全局最优解。
在经典的粒子群优化中,粒子的速度通常受其先前最佳位置和全局最佳粒子在群体中的位置的影响。为了描述粒子的状态,将第i个粒子的速度Vi和位置Xi定义为:
在这里插入图片描述
D表示粒子群搜索空间的维数,N表示粒子个数。随着搜索优化算法的运行,两个粒子的运动向量更新如下:
在这里插入图片描述
w为惯性权重,c1为认知加速度系数,c2为社会加速度系数,r1和r2为[0,1]内均匀分布的随机数,Vi(t)表示第t代第i个粒子的速度,pBesti为第i个粒子的个人最佳位置,gBest为群体最佳位置。

2.2. Deep Deterministic Policy Gradient

深度确定性策略梯度(Deep Deterministic Policy Gradient, DDPG)是深度强化学习算法(Deep reinforcement learning algorithm, DRL)的一种变体,它通过使用Actor网络解决了DQN算法在连续控制问题上的局限性。

如图为深度确定性策略梯度(DDPG)训练过程。
在这里插入图片描述

2.3. Calculation of the Total Output Power of the Quadcopter Battery

作为一种无人机,四轴飞行器通过四个电机调节其旋翼的旋转速度,从而管理其自身的方向和位置。地面坐标系(Oe, Xe,Ye, Ze)是基于Oe在地面上的某个位置建立的,机体坐标系(Ob, Xb,Yb, Zb)是基于四轴飞行器框架建立的。图2说明了地面坐标系、机体坐标系和四轴飞行器框架之间的关系。
在这里插入图片描述
假设四轴飞行器框架对称,质心与几何中心对齐,忽略外部阻力的影响,我们推导出四轴飞行器姿态动力学简化模型如下:
在这里插入图片描述
Ix、Iy 和 Iz 表示四旋翼机的惯性矩,Mx、My 和 Mz 表示四旋翼机姿态通道控制力矩。四旋翼机位置动力学的简化模型可以表述如下:
在这里插入图片描述
F为四轴飞行器的拉力,m为四轴飞行器的起飞重量,g为重力加速度。四轴飞行器姿态通道控制转矩M与电机转速wi的关系可表示为:
在这里插入图片描述
d表示四轴飞行器机身中心到某电机的距离,取0.4m, cT为螺旋桨的拉伸系数,取值为1.55 × 10−4,cM为螺旋桨的扭矩系数,取值为4.11 × 10−6。
四轴飞行器电池的总输出功率PT可以用下面的公式来确定。
在这里插入图片描述
其中,Umi、Imi、Re分别表示无人机电机的等效电压、等效电流和电枢内阻。每台电机的等效电压Um和等效电流Im按下式配置。
在这里插入图片描述
Um0为标称空载电压,Im0为标称空载电流,Kv0为电机KV值,M为电机负载转矩,N为电机转速。本文取Um0为22.2,取Im0为1.1,取Kv0为170。
N可由电机的角速度wi计算,M可由下式计算:
在这里插入图片描述
P为无人机当前工作环境下的空气密度,取值为1.293kg/m3; Dp为四轴飞行器螺旋桨直径,取值为0.508;Cm为总扭矩系数,取值为0.0031。在本研究的数值模拟实验中,相关参数生成于“https://flyeval.com(访问日期:2023年7月6日)”。

3.OptimalEnergyConsumptionPathPlanningBasedonPSO-DDPG

3.1.ProblemModelling

在本节中,我们设计了一种基于DDPG深度强化学习模型的自适应参数控制方法,并将该算法与粒子群算法相结合,提出了一种最优能耗无人机路径规划算法。

3.1.1.EnvironmentalModel

在三维飞行空间中,无人机路径规划的结果通常可以通过一组离散的航路点fp0, p1, p2,…来描述。第一个航路点p0为起点,最后一个航路点pn+1为目标点,PI的坐标为(xi, yi, zi)。在该算法中,每个路径点都被视为MOPSO算法中的一个粒子
。在有多架无人机参与任务的情况下,无人机的路由是根据它们在编队中的优先级确定的。为了防止飞行过程中频繁的角度变化影响飞行安全,利用三次b样条曲线平滑飞行路线。
无人机路径规划所必需的三维地图环境信息必须从地形模型中得到。有效的地形建模可以大大提高路径规划算法的精度。本文考虑障碍物、环境等因素,建立了以下山谷地形模型。
在这里插入图片描述
式中(xmi, ymi)为第i个峰的中心坐标;Hi是控制峰高的地形参数,xsi和ysi是峰沿x轴和y轴的衰减,控制峰的斜率,n表示峰的总数。3D地图内的无障碍区域可以视为路径规划问题的解空间。

3.1.2. Basic PSO Design for Path Planning

无人机路径规划的评价目标函数(适应度函数)包括能耗代价函数F1、距离代价函数F2和约束代价函数F3,适应度函数的数学表达式为:
在这里插入图片描述
能量代价函数F1可表示为:
在这里插入图片描述
式中,pi为样条插值后得到的第i个路径点得到的电池能耗功率,k1为能量成本因子,本算法中k1 = 1。距离成本函数F2可以表示为:
在这里插入图片描述
式中(xi, yi, zi)为规划路径的第I个路径点。K2为路径代价因子,在本算法中K2 = 1。约束代价函数F3可表示为:
在这里插入图片描述

3.2. DDPG-Based Parameter Adaptation Method for PSO Algorithm

3.2.1. State Space

状态空间作为Actor网络的输入,决定了算法的收敛速度。对于传统的深度强化学习方法,状态空间设计应满足以下条件:
所选择的状态应该与任务目标相关;所选择的状态应该与任务目标相关;选择的状态应该能够映射到相同的值范围。
根据上述原则,该算法的状态空间包含三个要素:种群的进化进程、种群的多样性和种群当前的优化能力。在粒子群优化中,迭代率是表示算法执行程度的参数。在算法开始时,该迭代进度为0%,逐渐增加,直到算法完成,此时迭代进度达到100%。迭代百分比的定义可以用下式表示:
在这里插入图片描述
Nnow为粒子群当前迭代次数,Nmax为粒子群最大迭代次数。
粒子群的多样性表示粒子群之间的变异程度,其公式如下:
在这里插入图片描述
式中M为群体中粒子的个数,qij为第i个粒子的第j个位置。其中,Qj为第JTH位蜂群的平均值,q Max j和q min j分别为第JTH位蜂群的最大值和最小值。
粒子群当前的优化能力,是反映粒子群相对于上一代进化程度的度量,由下式确定:
在这里插入图片描述
fgbest k (t)为时刻t选取的全局最优解的第k个适应度函数值。

3.2.2.ActionSpace

Action构成Actor网络的输出,用于为PSO优化算法的每次迭代产生参数。在本算法中,我们将连续动作a定义为一个数组(a1, a2, a3), w, c1, c2的值根据以下公式设计:
在这里插入图片描述其中wlast、c1last、c2last为前一轮PSO优化算法的参数。

3.2.3.RewardFunction

奖励函数的目的是计算“行动”在任务环境中获得的奖励。在该算法中,奖励函数是根据下面的方程设计的,从而推动粒子群算法向全局最优解发展:
在这里插入图片描述

3.3.PSO-DDPGforPathPlanning

在本节中,应用改进的粒子群算法来解决复杂地形环境下无人机的最优能耗路径规划问题。这个应用基于本研究提出的深度强化学习自适应参数模型。增强算法的实现与算法1中描述的框架保持一致,而算法的关键参数如表1所示。
在这里插入图片描述
在这里插入图片描述

4.SimulationAnalysisandDiscussion

4.1. Experimental Environment

本节首先概述任务场景设置和用于数值模拟的实验硬件配置。随后,分别对不同参数初始值和不同任务场景进行了数值模拟。通过对仿真结果的对比分析,证明了本文提出的PSO-DDPG算法与其他同类算法相比具有优越的性能。

4.2. Case 1: Comparative Analysis under the Different Initial Values of Parameters

为了评估本文提出的算法的性能,进行了两组数值模拟实验。这些模拟使用的环境模型是一个100 × 100 × 100的3D空间,障碍物使用3.1.1节中描述的山模型函数生成,如图3所示。
在这里插入图片描述
值得注意的是,本研究中的数值模拟是在Windows 10 64位系统上使用MATLAB R2021a仿真平台进行的。

4.3. Case 2: Simulation Analysis in Different Terrain Environments

为了评估算法在不同复杂地形环境下的性能,本小节根据障碍峰的数量设置了简单和复杂两种不同的地形场景。我们以经典PSO算法、人工蜂群算法(Artificial Bee Colony algorithm, ABC)和人工鱼群算法(Artificial Fish Swarm algorithm, AFSA)为参照组进行了数值模拟。各测试算法的参数设置如表2所示。
在这里插入图片描述
图6为简单地形环境下不同算法生成的最优飞行路径,图7为相同环境下不同算法得到的目标代价函数曲线。从图6和图7可以看出,在简单地形环境下,经典的PSO算法和ABC算法都属于局部优化,AFSA算法在全局收敛方面表现较好,但由于复杂度较高,收敛时间较长,本文提出的PSO- ddpg算法在整体性能上表现最优。
图8和图9为复杂地形环境下不同算法的苍蝇最优飞行路径和目标代价函数曲线。从图8和图9可以看出,经典的PSO和ABC算法随着地形环境中峰值数量的增加,局部最优问题加剧,而AFSA算法的收敛速度较慢的问题仍然存在。相反,本文提出的PSO-DDPG算法虽然收敛速度有所下降,但其综合性能在同类算法中仍然是最好的。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
表3和表4给出了四种算法的10次仿真结果和各算法与经典粒子群算法的优化比。对比表3和表4,经典PSO算法和ABC优化算法在简单地形和复杂地形环境下均表现出较差的全局收敛性,AFSA优化算法在简单地形下收敛性较好,但在复杂地形下全局收敛性受到影响。本文提出的PSO-DDPG算法在全局转换方面具有最优的性能。
在这里插入图片描述

5.Conclusions

本文提出了一种改进的粒子群优化路径规划算法,采用参数化自适应方法实现山谷地形环境下四旋翼飞行器的最优能耗路径规划。首先,将无人机最优能耗路径规划问题表述为具有碰撞威胁和面积限制约束的目标函数优化问题;利用经典粒子群算法对目标函数进行最优求解。其次,针对经典粒子群算法缺乏自适应性和易受局部最优影响的问题,引入了一种新的粒子群算法,深度确定性策略梯度(DDPG)模型。该模型在运行过程中自适应调整PSO算法中的三个参数w、c1和c2,从而提高了算法的搜索性能。与其他类似算法在三维环境下的数值模拟表明了本文算法的优越性能。与经典PSO算法相比,本文提出的PSO- ddpg算法在简单地形和多峰复杂地形下的优化率分别为7.5%和9.2%。
本研究以山地地形环境下无人机的最优能耗为目标,提出了一种无人机路径规划算法,并通过场景仿真验证了该算法的有效性及其相对同类算法的性能优势。然而,本研究并未考虑环境因素对无人机能耗的影响;例如,在风场中,强烈的阵风会导致无人机产生更大的能量消耗,这是由于无人机需要在风场中保持姿态稳定。在未来的工作中,我们将考虑这些因素对无人机能耗的影响,进一步完善无人机的能耗计算模型,并尝试将算法部署到真实的无人机中,为真实环境下的飞行作业提供有效的控制决策。

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

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

相关文章

Redis为 List/Set/Hash 的元素设置单独的过期时间

一.业务简介 我们知道,Redis 里面暂时没有接口给 List、Set 或者 Hash 的 field 单独设置过期时间,只能给整个列表、集合或者 Hash 设置过期时间。 这样,当 List/Set/Hash 过期时,里面的所有 field 元素就全部过期了。但这样并不…

【51单片机】03 蜂鸣器-播放音乐

蜂鸣器-播放音乐 一、原理介绍1.硬件电路 二、练习1.让蜂鸣器发声2.尝试演奏小星星 一、原理介绍 蜂鸣器分为有源蜂鸣器、无源蜂鸣器两种。 有源蜂鸣器:施加合适的电压之后就会发出特定频率的声音 无源蜂鸣器:需要提供特定频率的声音信号,才能…

30_Redis哨兵模式

在Redis主从复制模式中,因为系统不具备自动恢复的功能,所以当主服务器(master)宕机后,需要手动把一台从服务器(slave)切换为主服务器。在这个过程中,不仅需要人为干预,而且还会造成一段时间内服务器处于不可用状态,同时数据安全性也得不到保障,因此主从模式的可用性…

汽车基础软件AutoSAR自学攻略(四)-AutoSAR CP分层架构(3) (万字长文-配21张彩图)

汽车基础软件AutoSAR自学攻略(四)-AutoSAR CP分层架构(3) (万字长文-配21张彩图) 前面的两篇博文简述了AutoSAR CP分层架构的概念,下面我们来具体到每一层的具体内容进行讲解,每一层的每一个功能块力求用一个总览图,外加一个例子的图给大家进…

51单片机——定时器中断(重点)

STC89C5X含有3个定时器:定时器0、定时器1、定时器2 注意:51系列单片机一定有基本的2个定时器(定时器0和定时器1),但不全有3个中断,需要查看芯片手册,通常我们使用的是基本的2个定时器&#xff…

LeetCode热题100-合并两个有序链表【JavaScript讲解】

题目: 题解: 我们目前已经知道两条链表都是有序链表,我们就可以通过迭代的方法实现上述问题。当list1和list2都不是空链表时,判断list1和list2哪个头节点的值更小,将较小的值添加到结果里,被添加到结果里的…

Artec Leo 3D扫描仪与Ray助力野生水生动物法医鉴定【沪敖3D】

挑战:捕获大型水生哺乳动物(如鲸鱼)的数据,搭建全彩3D模型,用于水生野生动物的法医鉴定、研究和保护工作。 解决方案:Artec Eva、Artec Space Spider、Artec Leo、Artec Ray、Artec Studio、CT scans 效果&…

HBuilderX打包ios保姆式教程

1、登录苹果开发者后台并登录已认证开发者账号ID Sign In - Apple 2、创建标识符(App ID)、证书,描述文件 3、首先创建标识符,用于新建App应用 3-1、App的话直接选择第一个App IDs,点击右上角继续 3-2、选择App&#x…

Android DataBinding 结合 ViewModel的使用

Android DataBinding 结合 ViewModel的使用 一、build.gradle引入对应的依赖 在build.gradle(app模块)里引入依赖,然后Sync Now一下: android {​viewBinding {enabled true}dataBinding {enabled true}} 完整的build.gradle代…

动植物基因表达调控

1, on and off状态 以及表达的量 2, 基因调控的生物学影响? 超过400多种细胞类型,数目上37万亿 不是所有的基因都表达 为什么多核真核细胞需要基因调控? 单个细胞往多个细胞逐渐进化的过程,形成复杂的…

2024年度漏洞态势分析报告,需要访问自取即可!(PDF版本)

2024年度漏洞态势分析报告,需要访问自取即可!(PDF版本),大家有什么好的也可以发一下看看

【数据结构】树的定义

在计算机科学中,树(Tree)是一种重要的基础数据结构,广泛应用于许多领域,如文件系统的目录结构、数据库的索引、编译器的语法树、人工智能的决策树等。理解树的基本概念和术语,对于学习计算机科学及其相关技…

三个shell脚本

1、shell 脚本写出检测 /tmp/size.log 文件如果存在显示它的内容,不存在则创建一个文件将创建时间写入。 测试结果: 2、写一个 shel1 脚本,实现批量添加 20个用户,用户名为user01-20,密码为user 后面跟5个随机字符。 3、编写个shell脚本将/usr/local 日录…

读书笔记--共享服务中心建设原则

最近阅读了《企业IT架构转型之道》记录和思考如下,供大家学习参考。随着企业的数字化转型推进,很多企业开始从原来的SPA模式应用转变为平台技术应用,比如阿里巴巴的共享服务中心,传统企业的统一认证的share服务等等。可以说&#…

DDD - 微服务设计与领域驱动设计实战(上)_统一建模语言及事件风暴会议

文章目录 Pre概述业务流程需求分析的困境统一语言建模事件风暴会议什么是事件风暴(Event Storming)事件风暴会议 总结 Pre DDD - 软件退化原因及案例分析 DDD - 如何运用 DDD 进行软件设计 DDD - 如何运用 DDD 进行数据库设计 DDD - 服务、实体与值对…

【C语言系列】函数递归

函数递归 一、递归是什么?1.1尾递归 二、递归的限制条件三、递归举例3.1举例一:求n的阶乘3.2举例二:顺序打印一个整数的每一位 四、递归与迭代4.1举例三:求第n个斐波那契数 五、拓展学习青蛙跳台问题 一、递归是什么? …

css盒子水平垂直居中

目录 1采用flex弹性布局: 2子绝父相margin:负值: 3.子绝父相margin:auto: 4子绝父相transform: 5通过伪元素 6table布局 7grid弹性布局 文字 水平垂直居中链接:文字水平垂直居中-CSDN博客 以下为盒子…

攻防世界 Web_php_wrong_nginx_config

​ 打开题目地址,显示为登录页面。尝试用御剑扫描一下,发现了admin页面,点进去显示如下 点开控制台,发现如下 isLogin参数为0。尝试抓包并该islogin参数为1,返回依旧不变。 再扫描,发现robots.txt&#xff…

HTML5实现好看的端午节网页源码

HTML5实现好看的端午节网页源码 前言一、设计来源1.1 网站首页界面1.2 登录注册界面1.3 端午节由来界面1.4 端午节习俗界面1.5 端午节文化界面1.6 端午节美食界面1.7 端午节故事界面1.8 端午节民谣界面1.9 联系我们界面 二、效果和源码2.1 动态效果2.2 源代码 源码下载结束语 H…

net-http-transport 引发的句柄数(协程)泄漏问题

Reference 关于 Golang 中 http.Response.Body 未读取导致连接复用问题的一点研究https://manishrjain.com/must-close-golang-http-responsehttps://www.reddit.com/r/golang/comments/13fphyz/til_go_response_body_must_be_closed_even_if_you/?rdt35002https://medium.co…