【《基于DDPG算法的无人机控制设计案例概述》5600字】_第1页
【《基于DDPG算法的无人机控制设计案例概述》5600字】_第2页
【《基于DDPG算法的无人机控制设计案例概述》5600字】_第3页
【《基于DDPG算法的无人机控制设计案例概述》5600字】_第4页
【《基于DDPG算法的无人机控制设计案例概述》5600字】_第5页
已阅读5页,还剩11页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于DDPG算法的无人机控制设计案例概述目录TOC\o"1-3"\h\u12570基于DDPG算法的无人机控制设计案例概述 1173271.1框架设计 140451.2神经网络设计 3181241.3动作探索策略设计 769001.4奖励函数设计 844781.5强化学习控制算法整体 15虽然DQN算法在雅达利的游戏上取得了前所未有的成功,但是仍存在着一定的局限性,那就是这种算法在很大程度上只能适用于离散的动作空间。然而在现实生活中,我们所遇到的问题在很多时候都是连续动作空间问题。尽管连续动作空间可以一步步的细分,最终使其转化为离散动作空间的问题,但这样会使得整个动作空间过于庞大,造成数据难以收敛,对于数据的分析与处理造成了一定的困难[28~29]。本课题所研究的无人机的轨迹跟踪正是连续动作空间的问题,因此在算法的选择上就排除了DQN的相关算法,进而选用了DDPG算法作为无人机控制器的控制算法。DDPG在DQN算法的基础上进行了一定的改进,使其能够适应连续动作空间的相关问题,而非仅仅局限于离散动作空间。1.1框架设计在进行DDPG控制器的设计之前,需要对于如何使用DDPG算法控制无人机的轨迹的整体框架进行一定的设计。四旋翼无人机控制器示意图如下图所示[30、32]。图1.1DDPG算法标准框架图Fig1.1Ddpgalgorithmstandardframework由上图可知,由控制器来接受无人机模型的仿真状态,其每个步骤可以表示如下:首先控制其接收到无人机的状态信息,并将其传送至actor网络。Actor网络根据预先所设定的策略函数选取一个动作将其重新输出给无人机模型,在这个过程中会引入环境噪声N。无人机执行这一动作,同时返回奖励r和执行动作后新的状态信息s将1~3步所产生的信息,原状态,动作,奖励,新状态全部传送进作为经验池的缓存器之中。从缓存采样数据传入目标critic网络,作为当前actor和critic网络的训练数据集。通过最小化critic网络的损失函数来不断更新critic网络。根据actor网络的策略梯度不断更新actor网络更新目标actor网络和目标critic网络不断重复上述步骤,直至达到训练体的最大步数1.2神经网络设计神经网络的设计是本研究中强化学习算法的核心框架。所采用的actor-critic网络设计,由这两部分所组成。Actor网络为动作策略网络,其输入为无人机的状态信息,而输出则为无人机的动作信息。无人机是根据当前所处的位置状态信息来自主选择所采取的动作,并自主执行这一动作。例如无人机会根据自己所处的位置状态,选择是增加还是减少旋翼的转速。而评价网络的作用是对当前无人机所处的状态时所采取的动作进行评分。例如,无人机处于某一状态S时,无人机的策略网络会根据当前状态决定其的输出动作a,而评价网络就是依据评价指标Q对无人机采取的动作a进行评分,能够更好地将无人机的行为合理化与数值化,进一步引导无人机的策略网络在无人机的整体运行中主动选择更为优秀的动作,使无人机的动作更加合理。图1.2(1)Actor网络结构图1.2(2)critic网络结构Fig1.2(1)Actornetworkstructure图1.2(2)Criticalnetworkstructure由图1.2(1)可知,Actor网络结构选用了3个全连接层,其输入为无人机的状态信息St,输出的动作信息为μ(s)。由图1.2(2)可知critic网络也同样选取了3个全连接层,不同的是,critic网络同时输入了动作和状态,而输出则为评价网络对当前的评分Q值。在上述的结构之中都出现了ReLU函数和tanh函数,在此,对于这两种函数的原理和功能进行一定的阐述:ReLU函数全称为RectifiedLinearUnit。是一种线性修正单元,除了actor网络的输出动作的最后一层外都有用到这个函数。这个函数的表达式和函数曲线表示为如下(1.2)图1.2(3)ReLU函数值域图Fig1.2(3)Relufunctionrangediagram这个函数是一个阶梯函数。这个函数会将所有的负值信息置为0值,而正值则可以正常输出,这种操作被称为单向抑制。在两种神经网络中则主要是为了是神经网络的各个节点具有一定的激活性,能够使模型更好地挖掘数据信息。Tanh函数双正切函数,其表达式和函数图表示如下(1.3)图1.2(4)Tanh函数值域图Fig1.2(4)Tanhfunctionrangediagram其值域只会在(-1,1)之间,无论输入结果如何都会,将结果变得平滑。将这个函数作为actor网络的最后一层的激活函数,会使数据在相差明显时能够更好地输出,同时子啊一次次地迭代中能够不断扩大这种特征。作为actor网络的的最后一层还有一个重要原因,无人机的四个旋翼是按照两种不同的方式进行旋转的,因此使用这种函数可以更好地进行旋翼方面的表述。举个例子,该函数的值域为(-1,1),无人机的电机转速范围为(-2000,2000)则就可以让-1表示电机按顺时针方向旋转,转速为2000n/min,而1则是电机按逆时针方向旋转,转速为2000n/min。按照相应的比例进行取值。以上两种函数都是为了解决在强化学习中由于使用ddpg算法对轨迹所进行预测时,所产生的两种拟合问题。欠拟合,由于数据的特征集不足而导致无法准确描述一组数据的相应的特征的现象。为了能够成功地拟合四旋翼无人机的环境,只需增加网络层数和神经元数量就能解决欠拟合的问题。过拟合,则是由于过度追求数据模型的预测能力,而使得模型变得过于繁琐与复杂,远远超过了实际生活中的现实模型,这种现象称为过拟合。之所以进行两种函数的设计正是为了解决这一现象,使得四旋翼无人机模型具有更好的泛化能力,能够得到更多的应用。1.3动作探索策略设计DDPG(DeepDeterministicPolicyGradient)算法,是一种深度确定性策略算法,而不是一种随机策略算法,因此,其所输出的是一个确定性的动作,而不是一个概率选取的动作。这一系列的行为直接导致了该算法能够在连续动作空间输出动作,进而实现无人机的连续控制,但是也有了一个致命的缺点:难以寻找到更为优秀、合理的动作。为了能够使无人机寻找到一个较为优秀的动作,同时由于无人机的动作维度较高,不在适用于以往强化学习算法中的策略,因此本文所使用了另一个动作策略,其表达式如下所示:μ为期望状态与轨迹,K为噪声系数,在算法不断学习的过程中,噪声会不断地乘以一个系数,而由于系数的值小于1,因此噪声会不断地减小,这也就用意味着动作探索就会慢慢趋向于收敛,直至探索结束。强化学习算法中为了模拟真实环境中所存在的干扰,更好地体现出强化学习算法的抗干扰能力的优越性,将干扰项设计如下图1.3所示:图1.3干扰项结构设计图Fig1.3Interferenceitemstructuredesigndrawing干扰项的设计是一个不断变化的时钟信号,经过一定的的运算变换后作为一个不断波动的正弦信号输出。将这个信号作为不断干扰无人机正常飞行的动态干扰项,以此来考验无人机在动态环境下的飞行能力,能否按照既定轨迹完成到达目标位置的飞行任务。1.4奖励函数设计奖励函数的设计作为DDPG算法的核心,起到了至关重要的作用,它在很大的程度上直接决定智能体训练的结果,决定了本次实验的成败。一个优秀、合理的奖赏函数可以让智能体在不断训练的过程中得到有效的发挥,不断优化与调整,而与之相反,一个考虑不周的奖励函数,会使智能体在“试错”的过程中一错再错,得到一个宛如“智障”般的智能体。当无人机处于一个状态时,变会得到一个指令,让无人机采取一个新的动作,而这一过程的变化会生成一个奖励,这个奖励是来自于环境的反馈所给予的,有可能是一个正值,也有可能是一个负值。在通常意义上而言,把正值的奖励作为奖赏,相反,我们把负值的奖励作为一种惩罚。四旋翼无人机的奖励函数主要涉及了3个位置和3个角度方面的信息,同时也主要是根据前一刻与后一刻的变化来进行奖励。因此为了方便奖励函数的设计,在本次实验中加入了位置误差和姿态误差来使奖励函数的设计更加简单化和合理化。在本次实验中主要是为了对与四旋翼无人机的轨迹进行跟踪仿真,考验的是无人机在空中平稳飞行的能力,因此本次实验中,将无人机的初始环境与结束环境设定为同一水平面,同时预期轨迹则是在维持高度不变的情况下飞行一条直线或者曲线来进行四旋翼的仿真。图1.4(1)位置误差与姿态误差运算模块Fig1.4(1)Positionerrorandheadingerrorcalculationmodule图1.4(1)所示为该模型所使用的误差模块的连接结构。该模块主要使用了5个输入量来进行运算,最终得出2个误差方面的数值进行输出,后续将与奖励模块相连接,在下面会对如何进行误差方面的计算进行分析:位置误差:由于考虑到维持高度不变的前提,主要将水平平面内的X与Y作为了主要的参考,以下为位置误差的公式,(1.4)备注:1)pos_err(position_error,以下简称为ep)为无人机的位置误差,2)R_x,R_y:(Robot_x,Robot_y)为无人机的状态位置。3)G_x,G_y:(Goal_x,Goal_Y)为无人机的的目标位置。算法的核心是根据无人机的位置信息进行加权求和再开方的方式来得到位置误差。姿态误差:姿态误差主要是为了方便进行角度方面的奖励函数的设计,相同的姿态误差的设计也较为繁琐,以下是姿态误差计算的相关各式:(1.5)通过上式的计算可以得出一个3x1的列矩阵,随后将矩阵中的各个值进行反正切,得eh=tan-1(head),即可得到角度上的角度值,不过此时的取值是一个弧度制,而非可以直接使用的角度制,因此需要进行单位制的变换。最终输出orr_err。计算完成了DDPG控制器所需的位置误差和角度误差。接下来需要对于DDPG控制器进行设计。对于DDOG控制器的设计分为了3个部分,观察位(obs),奖励位(reward)和停止位(isdone)。其中奖励位的设计是其中的重要部分,也是直接影响跟踪效果的关键。奖励函数的设计奖励函数的设计总体模块图如下图1.4(2)所示图1.4(2)奖励函数整体框图Fig1.4(2)Overallblockdiagramofrewardfunction奖励函数的设计主要分为5个部分,,以下对每一个部分的设计与目的,进行一步步的解释与说明。奖励函数设计的第一部分是通过引入先前所计算的位置误差来进行设计的,所使用的奖励函数公式设计如下:(1.6)图1.4(3)位置误差奖励模块Fig1.4(3)Positionerrorrewardmodule这个公式的设计,是依据其位置误差,只要位置误差的值小于一就可以给予一个正奖励,而值大于1,则会给予系统一个负奖励,通过这一步的设计可以是智能体的训练更倾向于选择一种位置误差较小的动作。如果不选择加入这一个限制而选择让智能体随机选取,则很有可能使结果直接发生发散的现象,这在一定程度上保证了位置上的收敛结果,能够增加系统的稳定性。奖励函数的第二部分的设计同样使用了位置误差,不过首先对于位置误差进行了求导,这一目的是为了能够得到位置误差的变化速度,以从来进行奖惩地判断,以下给出了这一判断的公式基础:(1.7)ep_d是通过求导模块所求出的.这一设计的初衷是为了控制位置误差的变化幅度不至于过大,同时进行远离目标位置的惩罚,因此公式本身并没有设计的过于复杂。如上式所示,显而易见,当变化幅度小于0.1时,给予系统一个正奖励,而大于0.1时,则给予一个负奖励。这一设计在轨迹的跟踪方面也有着相当关键的作用。变化幅度的控制可以保证智能体在训练无人机轨迹仿真的过程中不会出现偏差过大的现象,以此来确保无人机系统运行的准确性。图1.4(4)位置误差奖励模块2Fig1.4(4)Positionerrorrewardmodule2奖励函数的第三、第四部分则使用了姿态误差来进行设置,将姿态误差作为输入量,计算得出相应的奖励,设计的奖励函数如下:(1.8)eh:headingerror,姿态误差姿态误差的设计是为了控制角度方面的误差,同时进行远离目标位置的惩罚,使四旋翼无人机能够以一种更为平稳的方式进行飞行。其思路为,当姿态误差的加权值小于10时,给予系统一个正向的奖励;相反,大于10时,给予系统一个负奖励。同时,可以很明显地发现,与位置误差的奖励函数相比,姿态误差有所不同,多了一个相减的过程,这个设计的目的主要是为了控制姿态误差和位置误差的权重关系。在权重的考量上,将位置误差放的更重,使智能体在训练四旋翼无人机的过程中,会将位置的精确度作为主要的考虑标准,在位置精确和姿态平稳发生矛盾的情况下,智能体会优先选择位置的精确度,而一定程度上忽略姿态的平稳性。图1.4(5)姿态误差奖励模块Fig1.4(5)headingerrorrewardmodule第四部分则大体上和第二部分相同,将姿态误差进行了求导的运算,得到了姿态误差的变化速度,将其这一部分的奖励函数输入,设计的奖励函数如下所示:(1.9)这一设计的初衷是同样是为了为了控制姿态误差的变化幅度不至于过大,因此公式本身并没有设计的过于复杂。如上式所示,显而易见,当变化幅度小于-0.1时,给予系统一个正奖励,而大于-0.1时,则给予一个负奖励。之所以设计的使负值,是因为负值的设定可以保证姿态误差可以优先减小。这一设计在轨迹跟踪的平稳性方面有着关键的作用。变化幅度的控制可以保证智能体在训练无人机轨迹仿真的过程中不会出现由于姿态偏差过大,而导致无人机失稳的现象,以此来确保无人机系统运行的平稳性。图1.4(3)姿态误差奖励模块2Fig1.4(3)Attitudeerrorrewardmodule2第五部分的设计则主要使考虑无人机的状态。当无人机在训练中超出所设定的界限时将会给予一个极大的负奖励;无人机的所处状态,角度,角速度都是一种负面的信息,因此将其设定为一种负奖励,这也可以在一定程度上激励着智能体向完全稳定的方向进行。最后则是将上述的所有奖励函数加权求和作为最终的奖励值Q,Q的计算公式表示如下:(1.10)以上便是奖励函数的设计通过各方面的设计可以使得无人机的位置

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论