【《基于反步法的四旋翼无人机控制器设计》19000字】_第1页
【《基于反步法的四旋翼无人机控制器设计》19000字】_第2页
【《基于反步法的四旋翼无人机控制器设计》19000字】_第3页
【《基于反步法的四旋翼无人机控制器设计》19000字】_第4页
【《基于反步法的四旋翼无人机控制器设计》19000字】_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

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

文档简介

哈尔滨工业大学工学博士学位论文PAGE9-基于反步法的四旋翼无人机控制器设计摘要本文在考虑外界干扰及不确定性等前提下,建立了四旋翼飞行器的动力学模型;在反步法一般控制律的推导过程中展示了反步控制的基本思路,权衡四旋翼飞行器的飞行特点、反步法的易用性等方面,选择控制系统结构,对姿态内回路和位置外回路设计反步控制器,给出了系统的稳定性证明,并在仿真环境下实现了对输入信号的跟踪,验证了反步控制器的有效性。反步法在处理非线性问题上收敛很快,超调量小,但是存在参数整定困难且依赖经验的问题。参数的整定过程可以抽象为一个与未知模型环境的交互过程,后者可以采用强化学习的思路解决。深度强化学习领域中的深度确定性策略梯度算法(DDPG)能够在连续动作空间任务中提供较稳定的表现,本文应用该算法对姿态控制器的反步法参数进行学习,既能实现系统动态特性的改善,又保留了传统反步控制结果的鲁棒性、安全性、可变性和可验证性。最后,在仿真环境下验证经过强化学习后的一组反步参数,并实现了对输入信号的跟踪以及动态性能的优化。关键词:四旋翼飞行器;反步法;强化学习目录TOC\o"1-3"\h\u14147摘要 I10926第1章绪论 1111441.1课题背景及研究的目的和意义 1142181.2国内外研究现状 268521.2.1四旋翼飞行器国内外研究现状 26451.2.2强化学习国内外研究现状 4249321.3本文的主要研究内容 525365第2章四旋翼飞行器的模型建立 784552.1引言 711082.2四旋翼飞行器的工作原理 742062.3坐标系及相互转换关系 10250342.4动力学模型建立 1214512.5本章小结 1410077第3章基于反步法的控制器设计 16232243.1引言 16302153.2反步法控制律的推导 16184093.3模型简化和控制器结构分析 21233023.4四旋翼反步控制器设计 23273523.5模型搭建及仿真结果分析 26300993.5.1仿真环境介绍 2696573.5.2定点悬停 28264833.5.3定速跟随 2987553.5.4跟踪螺旋上升轨迹 30201813.6本章小结 3123610第4章基于强化学习的姿态控制器参数整定 33154504.1引言 33318684.2强化学习理论介绍 33282284.2.1强化学习思想 33182614.1.2强化学习算法分类 3387234.1.3强化学习与传统控制方案结合 34195754.3基于DDPG算法的参数智能整定 3661754.3.1Q-Learning和DQN算法 3693734.3.2DDPG算法原理 362394.3.3采用DDPG算法整定参数 38138274.3.3参数整定结果 4126544.4基于优化反步参数的仿真结果分析 43321224.4.1定点悬停实验 43130034.4.2跟踪常值速度信号 4423914.4.3轨迹跟踪 45314644.5本章小结 4631879结论 474837参考文献 49PAGE10-第1章绪论1.1课题背景及研究的目的和意义多旋翼飞行器是一种旋翼轴数等于或多于三个的特殊飞行器,当面对距离不是很长的飞行任务时,这种结构简单、携带方便的飞行器常有稳定优异的表现。多旋翼飞行器工作时消耗电能,对环境污染很小,而且作为一种低噪音飞行器,其隐蔽性很高。近年来随着相关领域的技术不断进步,多旋翼飞行器得到了迅猛的发展。在军用领域,多旋翼飞行器由于其低噪声、易操控的特点,可以应用于探查敌方情报、搜索排查潜在的危险区域、跟踪战略目标、部署传感器等诸多方面,甚至能够携带微型设备完成自杀式任务;在民用领域,其在拍摄影视资料、巡查灾害现场、勘测地质情况、绘制区域地图等方面都表现出了卓越的性能REF_Ref31389\r\h[1]。为了充分发挥多旋翼飞行器的优势,解决对飞行器性能要求更高的应用问题,多旋翼飞行器的控制方案也得到了更多研究者的关注。四旋翼飞行器在多旋翼家族中具有重要的地位。和其它多旋翼飞行器相比,旋翼数量更少且机械结构更简单的四旋翼飞行器,能节约成本并延长续航,同时其可靠性也更强,故本课题选定其作为研究对象。四旋翼飞行器的模型具有本质非线性,仅由四个旋翼的输入驱动六自由度的输出,具有欠驱动性;位置和姿态间存在强耦合,且飞行中存在复杂的气动干扰及参数不确定性,故而四旋翼飞行器的研究涵盖了当今控制领域关注的诸多问题,为探索控制算法、研究控制问题提供了理想的平台REF_Ref31490\r\h[2],其研究意义重大。四旋翼控制问题的研究主要存在着以下的困难:一方面,实际的飞行过程中将面临复杂的空气动力学特性,这使得建模问题存在挑战;另一方面,模型欠驱动、耦合、非线性、静不稳等特点REF_Ref31608\r\h[3],以及环境干扰、传感器噪声、气动参数不确定性及时变特性等问题给其控制算法的研究带来了挑战。综上所述,四旋翼飞行器的控制问题具有重要的研究价值。自四旋翼飞行器概念提出以来,已经有多种方法被用于设计四旋翼无人机的飞行控制器。其中最主要的问题是如何实现复杂环境中的稳定飞行,即实现飞行控制器的强鲁棒性REF_Ref31693\r\h[4]。目前的飞行控制产品中,应用最广泛的技术是串级PID控制,其控制结构比较简单,更容易实现,且能满足常规情况的飞行任务需求。但是作为一种线性控制方法,串级PID最大的弊端是只能保证系统在线性化的工作点附近正常工作,其全局稳定性无法得到保证REF_Ref31490\r\h[2],在大姿态、高速率等快速跟踪模态中,会引起控制品质的下降。而非线性设计法直接针对原始模型进行控制器设计,可以很好地解决上述问题。非线性的的飞控系统设计方法中,应用比较广泛的一种方式是反步法(Back-stepping),其适用于具有严格反馈形式(Strict-feedbacksystem)非线性系统,超调量和上升时间都比PID方法有一定改善。反步法的将复杂的非线性系统分解成不超过系统阶数的子系统,递进设计能使当前状态渐进稳定的Lyapunov函数和虚拟控制量,最后通过定义输入量u,使其能镇定最高阶的状态变量,进而使低阶状态变量也依次稳定REF_Ref32457\r\h[5]REF_Ref32463\r\h[6]。反步法在处理系统非线性问题上收敛很快,但它的不足之处在于:一是模型依赖度高,即应用反步法设计控制器时需要精确的数学模型,四旋翼模型参数的不确定性和时变特性会对反步法的控制效果产生较大影响;二是参数整定困难,反步控制器参数可以保证系统渐进稳定,但其对于系统的动态特性的影响,还缺乏确定的量化关系,因此控制器参数整定繁琐,经验依赖性强。基于上述考虑,本课题拟完成如下工作:第一,在合理假设的前提下,对四旋翼飞行器的动力学模型进行简化,使之成为满足反步控制法条件的严格反馈系统;第二,针对简化后的动力学模型,采用传统反步控制法进行控制器的设计;第三,基于机器学习的方法,改善反步法参数整定困难、模型依赖度较高的问题。1.2国内外研究现状1.2.1四旋翼飞行器国内外研究现状目前世界范围内多所著名大学和科研机构都在进行四旋翼飞行器自主飞行控制系统的研发工作。四旋翼飞行器的研究从最初的传统控制到现代控制,现在已境逐渐发展起智能控制。目前在国外,小型四旋翼无人机的控制研究内容主要包括:惯性导航系统条件下的自主飞控系统,如瑞士洛桑联邦理工学院(EPFL)的OS4REF_Ref32669\r\h[7]系统;基于视觉的自主飞行控制,如宾夕法尼亚大学的HMX4;自主飞行器系统方案,佐治亚理工大学的GTMARS;多飞行器协同作业,如斯坦福大学的STARMAC。OS4系统由瑞士洛桑联邦理工学院实验室开发,主要研究如何对机体结构的设计进行改良,以及如何控制系统使其实现更自主的飞行,关注点聚焦于角度控制以及高度控制;HMX4采用机载计算机和地面计算机融合的IMU以及记载摄像机反馈信号共同控制四旋翼飞行器,使用的控制算法是反步法以及反馈线性化策略;佐治亚理工大学为解决火星探测环境中飞行器的自主勘探和及时充能,设计了GTMARS系统。其在火星环境中的最高时速可以达到72km/h,且机体的降落和起飞具备高自主性,该过程的实现依托于机体封装的自行展开与折叠。当自身电量不足时,其可以自动返回到着陆器所在的位置,并用后者装备的太阳能电池进行能源补充;STARMAC项目选用商用Draganflyer作为研究对象,其研究目的主要是实现与其他类型的小型无人机协同作业REF_Ref32718\r\h[8],以强化学习的方法实现对飞行器的控制。斯坦福大学所做的工作并不局限于对飞控的研究,如世界上最著名的微型飞行器——Mesicopter,同样由斯坦福大学设计制造,其旋翼直径1.5cm,电机重量325mg。a)STARMACb)Mesicopter图1-1国外的一些小型无人机国防科技大学是国内较早开始研究四旋翼飞行器的高校,2006年就完成了样机的设计,先后验证了反步法和自抗扰控制等飞控算法的实用性。国内从事飞行器研究的还有浙江大学、南京航空航天大学、天津大学、上海交通大学、哈尔滨工业大学等。除了高校,国内很多公司也开发了针对市场的飞行器,如深圳大疆创新公司、北京零度智控等航模公司。大疆在2020年推出了Phantom4Pro四旋翼飞行器,该系统首次采用了5向避障技术,通过传感器数量的增加及感应距离的提升,进一步提高了其飞行安全性能。图1-2大疆Phantom4Pro现阶段四旋翼飞行器的控制方法主要有:传统PID控制、模糊控制、滑模控制、反步法控制等。每一种控制策略都有其优势和不足。表2-1中列出了这些常见的控制方法及其优缺点。表1-1常见的控制方法及其优缺点控制方法优点缺点传统PID控制物理结构清晰、设计过程简单无法保证全局稳定,性能有局限模糊控制无需被控对象的准确模型模糊控制表的设计经验依赖性强滑模控制能克服系统的不确定性,对干扰和未建模动态有很强的鲁棒性具有抖振现象,对传感器和观测器要求高反步法在处理系统非线性问题上收敛很快,超调量小要求严格反馈系统,模型依赖度高,参数整定困难1.2.2强化学习国内外研究现状机器学习(MachineLearning)是继专家系统之后人工智能研究的又一重要领域,其发展过程经历了两次热潮和两次低谷,如今又出现了全新的、前所未有的浪潮,为诸多领域提供了大量发展机遇REF_Ref64\r\h[9]。机器学习正在被越来越多地应用到飞行器控制领域以提升飞行控制的自主性、鲁棒性和智能化水平,降低了设计飞行控制器的难度。强化学习(ReinforcementLearning,RL)是机器学习的一个子集,其思路十分接近人类的学习方式:在当前所处环境下,智能体通过学习环境对动作的反馈,如奖赏或惩罚等,产生一种习惯性的行动策略,该策略能使智能体获得最大化的收益。2016年,人工智能程序AlphaGo凭借4:1的大比分击败韩国棋手李世石,次年又以3:0击败中国棋手柯洁,这为RL与人工智能领域赢得了广泛而深刻的关注。在面对现代的任务需求时,由于其动作空间和状态空间维度更高,且常常为连续空间,研究者提出了一系列在连续空间下表现较好的算法的,它们在多方面都展现出很好的应用前景,如机器人的控制、汽车的自动驾驶等。树状图1-3展示了部分深度强化学习(DeepReinforcementLearning,DRL)算法的相关信息。这些算法及其变种,是目前RL领域对于工程问题的重要解决方案。图1-3部分深度强化学习算法一览REF_Ref130\r\h[10]-REF_Ref590\r\h[17]目前在飞行器控制领域,强化学习的思路常与传统控制方法相结合,例如基于Model-free和Model-based等学习策略被用于构建智能动力学模型REF_Ref616\r\h[18]和动力学反问题的学习REF_Ref642\r\h[19],与传统控制方法相辅相成。一方面,基于机器学习思路所构造的智能动力学模型,能够提高被控对象动力学模型的精确程度,从而使现有策略达到更优的控制效果;另一方面,基于机器学习思路的动力学反问题学习,又能减轻飞行器控制对模型的依赖性,提高飞行器控制的鲁棒性,实现更快、更稳定的控制效果。强化学习在多个领域取得了巨大的成功REF_Ref750\r\h错误!未定义书签。REF_Ref760\r\h[22],但其与其它学习算法一样,存在计算复杂性和内存复杂性的问题,这使得传统的强化学习局限于状态空间较少的任务中(如表格型任务等),对于连续空间等具备高维状态空间的现代任务,基于表格的强化学习方案会存在“维度灾难”的问题。深度学习近年来保持迅猛发展,并引领了计算机视觉、语音识别和目标检测等领域的突破性进展,其深度神经网络可以自动学习高维数据的低维特征表示,这使得与深度神经网络结合后的强化学习可以解决一些以前难以处理的高维空间决策问题。目前深度强化学习正在游戏REF_Ref913\r\h[23]-REF_Ref920\r\h[24]、机器人REF_Ref998\r\h[25]REF_Ref1002\r\h[26]、对话系统REF_Ref1122\r\h[27]REF_Ref1129\r\h[28]、交通信号灯控制REF_Ref1188\r\h[29]REF_Ref1191\r\h[30]、自动驾驶REF_Ref1273\r\h[31]REF_Ref1279\r\h[32]和无线电REF_Ref1354\r\h[33]REF_Ref1358\r\h[34]等领域中探索更加广泛、更高效的工程应用。1.3本文的主要研究内容本文研究四旋翼飞行器这种具备静不稳定性、欠驱动性、强耦合性、本质非线性的高阶系统,通过一种非线性设计方法——反步法,基于姿态内回路和位置外回路直接设计非线性控制器。在上述基础上,借助当今机器学习中的无模型学习理论解决传统反步法参数调节困难、经验依赖性强等特点,实现控制器参数的智能整定,以及系统动态特性的改善,并在仿真环境中验证结果。第1章作为绪论,从总体上介绍了四旋翼飞行器和机器学习领域的研究内容、研究现状、以及研究过程中遇到的挑战进行了初步总结,分析了将两种研究方向结合的优势与意义,最后介绍了本文的结构安排。第2章始于解释四旋翼系统的飞行原理,从升力公式、机械结构和坐标转换等方面入手,在误差、干扰和不确定性等前提下建立了四旋翼飞行器的动力学模型,该模型将作为反步控制器设计的基础和依据。第3章在反步法一般控制律的推导过程中展示了反步控制的基本思路,权衡四旋翼飞行器的飞行特点、反步法的易用性等方面,选择控制系统结构,并将前文建立的四旋翼动力学模型简化为严格反馈形式,依据反步法设计系统的位置和姿态控制器,并在仿真平台完成了四旋翼飞行器的定点悬停、定速跟随和轨迹跟踪实验,初步验证了反步控制器的有效性。第4章着重研究参数整定这一过程,复杂的参数整定可以视为无模型的马尔可夫决策过程,先对任务性质、智能体、环境、奖励和策略等方面进行需求分析,并按照需求的特性选取DDPG算法作为训练方案,之后在仿真环境中创建强化学习智能体模块,搭建神经网络,选取合适的奖励函数并设置超参数,在软件环境中训练得到一组静态的优化后参数,并将其应用至反步控制器进行仿真,对二者的实验结果进行比较和分析。第2章四旋翼飞行器的模型建立2.1引言对于多数传统控制方案而言,被控对象的模型都是必需的,且模型的精确程度与最终控制器的性能息息相关。如果缺乏被控对象的准确模型,那么很多控制算法的实现难度都将大幅提升,因此精确建立四旋翼飞行器的动力学模型尤为关键。除了研究模型本身的耦合性、欠驱动性、静不稳性、本质非线性等特点,我们还需考虑硬件装配误差、环境干扰以及参数的不确定性。本章开始介绍了四旋翼飞行器的工作原理,包括旋翼升力公式以及电机转速解算等,阐述了四旋翼飞行器稳定飞行的可行性;接下来,在欧拉角描述的基础上建立坐标系并推导坐标系转换公式;最后,在考虑干扰和误差的情况下,推导四旋翼飞行器的动力学模型。2.2四旋翼飞行器的工作原理旋翼在旋转时将与空气之间发生相对运动,上下两侧的压强差导致升力,方向沿转轴向上;角动量守恒导致存在扭矩,方向沿转轴并与机翼旋转方向相反,示意图如下:图2-1旋翼的工作原理设旋翼的旋转速度为Ω,旋翼产生的升力大小为T,力矩为Q,则由叶素理论、涡流分析的知识,可以获得旋翼的升力及力矩公式为REF_Ref1746\r\h[35]:(2-1)其中空气的密度ρ、旋翼旋转时扫过的面积A、旋翼半径R、旋翼的升力系数CF和扭矩系数CM均可视为常数,因此升力和力矩只是转速的函数,将其记为REF_Ref1779\r\h[36]:(2-2)四旋翼的工作原理见图2-2。四个旋翼均产生向上的升力,其中旋翼2和4顺时针旋转,其中旋翼1和3逆时针旋转。前者提供逆时针方向的扭矩,后者提供顺时针方向的扭矩。四旋翼飞行过程中,旋翼的转速方向保持不变。只要调节4个电机的转速,无人机就能够产生横滚、俯仰或偏航运动。yybτr4fr4fr1fr2fr3Ω2Ω1Ω3Ω4τr1τr2τr3zbxbOb图2-2四旋翼飞行器原理示意图定义Ω1,Ω2,Ω3,Ω4为旋翼1,2,3,4的角速度;定义fr1,fr2,fr3,fr4为旋翼1,2,3,4所产生的的升力;定义fr为四个旋翼产生的合力,数值大小为fr;定义τr为四个旋翼产生的合力矩。选取以机体质心为原点选取机体坐标系Ob,如图2-2中所示。在机体坐标系中,合力fr的坐标表示为frb=(0,fr,0)T;合力矩τr的坐标表示为τrb=(τrx,τry,τrz)T;结合公式(2-2)有:(2-3)定义旋翼转轴到机体质心的距离为l,升力力和三个方向上的力矩如下:(2-4)将式(2-2)带入(2-3)并整理为矩阵形式有:(2-5)其中系数矩阵C表示为:如果已知四个旋翼的转速,那么就能够借助系数矩阵C计算控制四旋翼飞行器所需的力和力矩,若想由后者解算得到前者,需考察系数矩阵C是否奇异。经计算,得到系数矩阵C的行列式为:(2-6)因此系数矩阵是可逆矩阵,进而有:(2-7)规划四旋翼无人机的飞行轨迹时,若能计算出需要旋翼提供的力和力矩,就可以由式(2-7)解算出相应电机的期望转速,将对应的期望信号输入电机就可以实现无人机的运动,如垂直起降、俯仰、滚转以及偏航等。对于图2-2中的坐标系和无人机,实现垂直起降需要同时改变四个旋翼的转速;实现正向偏航需要增大旋翼2和4的转速并减小旋翼1和3的转速;实现正向俯仰需要保持旋翼2、4转速不变,增大旋翼1的转速,并等量减小旋翼3的转速;类似地,实现正向滚转就需要保持旋翼1和3的转速,增大旋翼4的转速,并等量减小旋翼2的转速。2.3坐标系及相互转换关系在研究并建立四旋翼飞行器模型的过程中,涉及的坐标系除了前文的机体坐标系Ob-xbybzb,还会有地面坐标系Oe-xeyeze和惯性主轴坐标系Oi-xiyizi。前者与机体坐标系共同参与动力学方程的描述,具体情况如图2-3所示;而后者用于描述实际系统中陀螺安装误差的影响。ffr4fr1fr2fr3Ω2Ω1Ω3Ω4τr1τr2τr3zbxbObzexeOeybτr4图2-3坐标系的建立借助坐标系之间的变换和投影,可以很好地描述飞行姿态。本文在四旋翼数学建模时,选择欧拉角描述,因为其物理意义更直观,且不存在冗余参数,虽然其存在奇异点的问题,但本课题并不考虑姿态角大于90度的情形。采用偏航-俯仰-滚转的顺序,即2-3-1转序下的欧拉角对其进行描述。刚体的姿态变化并不因其位置的变化而改变,故而考虑姿态转换时,可以不考虑两个坐标系原点间的距离,也就是将它们的原点重合,记为O,则三次转换过程见图2-4,其中偏航、俯仰和滚转变换依次以红色虚线、绿色点线和蓝色点划线表示。zzex1ye(y1))xex2(xb)zbz1(z2)yby2O图2-4地面坐标系到机体坐标系的转换图将Oxb轴在水平面内O-xeze的投影与Oxe轴之间的夹角记为φ,其表示四旋翼飞行器的偏航角度;将Oxb轴与水平面O-xeze之间的夹角记为θ,其表示四旋翼飞行器的俯仰角度。将Oye轴与包含Oyb轴的铅垂平面之间的夹角记为γ,其表示四旋翼飞行器的滚转角度。在2-3-1转序下,对图2-4定义的坐标系转换过程进行解释如下:首先,地面坐标系Oe-xeyeze先绕Oye轴旋转偏航角φ,形成坐标系O-x1y1z1;然后坐标系O-x1y1z1再绕Oz1轴旋转俯仰角θ,形成坐标系O-x2y2z2;最后坐标系O-x2y2z2再绕Ox2轴旋转滚转角γ,形成机体坐标系O-xbybzb。根据欧拉角描述下转移矩阵的计算规律有:其中rot矩阵为绕定轴的旋转矩阵:整理得到机体坐标系到地面坐标系的转移矩阵为:对于三维空间中的任一矢量,若我们已知它在其中一个坐标系的坐标,则一定可以通过这个转移矩阵求解其在另一个坐标系的坐标表示。任意刚体都存在三个互相正交的轴,使得以这三个轴建立坐标系时,惯性矩阵呈对角阵形式,称为惯性主轴。现实陀螺在安装时普遍存在误差,这使得惯性矩阵在机体坐标系中的形式不再是对角阵,为了将陀螺安装误差的影响在建模时精确地表述出来,下面以三个机体惯性主轴建立坐标系。惯性主轴坐标系以机体质心作为原点Oi,惯性主轴Oixi、Oiyi和Oizi轴方向的选取同机体坐标系一致。与前面地面坐标系与机体坐标系转换关系的推导过程类似,记陀螺安装误差角为δη=(δφ,δθ,δγ)T,事实上,它是惯性主轴坐标系到机体坐标系在2-3-1转序下的欧拉角。计算方式与前文一致,得到转换矩阵如下:设Ji为四旋翼在惯性主轴坐标系中的惯性矩阵,Jb为其在机体坐标系中的惯性矩阵,则两个惯性矩阵之间的关系可以通过转换矩阵描述:(2-8)2.4动力学模型建立下面将建立四旋翼的动力学模型。我们假设四旋翼是一个各转轴互相平行,且旋翼升力的作用点与质心同平面的刚体,并忽略其它硬件对参数的影响。若存在陀螺安装误差角δη,根据(2-8)可以得到四旋翼飞行器在机体坐标系中的惯性矩阵,表示为如下形式:对四旋翼飞行器机体应用动量矩定理和哥氏定理,可以得到四旋翼飞行器的姿态动力学方程:(2-9)其中τ为四旋翼飞行器机体所受到的合力矩,ω为机体相对于地面坐标系的运动角速度,其中合力矩的表达式为:(2-10)其中,τr为旋翼升力力矩;τg为机体姿态改变引起旋转轴方位变化时转子的抗阻力矩,我们将其称为陀螺力矩;τd为干扰力矩。设机体所受合外力为f,总质量为m,质心速度为v,四旋翼飞行器平动部分的动力学方程可以由牛顿第二定律算如下:(2-11)合外力f由三部分组成:(2-12)其中,fr为旋翼升力;mg为重力;fd为机体受到的干扰力。综上所述,四旋翼飞行器的动力学模型可以用式(2-13)的形式描述:(2-13)由坐标系间的转换关系,计算fr在地面坐标系中的坐标表示fre:(2-14)设重力加速度大小为g,在地面坐标系中有重力项:(2-15)设干扰力在地面坐标系中的坐标表示为fde=(fdx,fdy,fdz)T,且根据前面2.2节的说明,有frb=(0,fr,0)T。式(2-13)中的前两个平动方程此时是在机体坐标系中描述的,我们将这两个方程投影到地面坐标系并整理,最终得到:(2-16)设Jr为每个旋翼和对应电机转子的转动惯量,可以得到四个旋翼总的动量矩Hr在机体坐标系中的坐标表示为:其中:(2-17)由向量的叉乘运算关系,得到旋翼陀螺力矩的表达式为:(2-17)此时将动力学模型(2-13)中的后两个转动方程投影到机体坐标系。因为δη很小,因此将其作为不确定性处理,整理得到转动模型为:(2-18)其中由于安装误差引起的不确定性表达式如(2-19)所示:(2-19)综上所述,四旋翼飞行器模型(2-13)展开后的表达式为:(2-20)至此,我们建立了四旋翼飞行器完整的数学模型,并且此模型的设计过程考虑了实际飞行器装配时陀螺仪的安装误差、实际飞行环境中广泛存在的气动干扰和陀螺力矩干扰,完整的动力学模型由式(2-19)和(2-20)共同描述。2.5本章小结本章从最简单的旋翼入手,首先分析了转速与旋翼升力、旋翼扭矩的关系,分析了四旋翼无人机飞行时各旋翼的状态,对电机期望转速的可解算性进行了推导解释,论证了四旋翼飞行器稳定飞行的可实现性;其次,针对本课题的任务需求,选取欧拉角描述四旋翼飞行器的姿态,定义了在2-3-1转序下,四旋翼的偏航角、俯仰角和滚转角,直观地描述了坐标转换的过程,并推导了不同坐标系之间的转移矩阵;最后,在考虑干扰和误差的情况下,建立四旋翼飞行器的动力学模型。第3章基于反步法的控制器设计3.1引言现阶段四旋翼飞行器的控制方法主要有:传统PID控制、模糊控制、滑模控制、反步法控制等。每一种控制策略都有其优势和不足。反步法可将控制器设计与系统Lyapunov稳定性证明同步完成,控制器有着比较清晰的结构,且其对非线性系统收敛很快、超调量较小,是一种常用的控制方法。本章在反步法一般控制律的推导过程中展示了反步控制的基本思路,权衡四旋翼飞行器的飞行特点、反步法的易用性等方面,选择控制系统结构,并将前文建立的四旋翼动力学模型简化为严格反馈形式,对姿态内回路和位置外回路设计反步控制器,给出了系统的稳定性证明,并在仿真环境下实现了对输入信号的跟踪,验证了反步控制器的有效性。3.2反步法控制律的推导反步法虽然具有较好的控制效果,但前提是系统必须具有严格反馈形式,或者系统能化为严格反馈形式。对一个典型的严格反馈系统,其模型可用式(3-1)表示:(3-1)其中x=(x1,x2,…,xn)T∈Rn是该严格反馈系统的状态变量,而控制量输入u∈R。对任意的系统阶次i,非线性函数fi和gi中只包含该阶次或更低阶次的状态量x1,x2,…,xi,这就是严格反馈系统。下面针对对上述模型,阐述反步法的思想。考虑模型中第i个子系统,i=1,2,3,…,n-1:(3-2)将式(3-2)中的右端xi+1视为子系统i的虚拟控制输入,我们希望xi+1会是这样一个虚拟控制律:(3-3)当xi+1逐渐接近这个理想的虚拟反馈控制律βi时,xi+1作为一个输入量能够使得子系统(3-2)渐进稳定,但是实际上我们无法直接地控制状态xi+1,而且通常式(3-3)不能自行成立,需要对xi+1进行再设计。引入虚拟控制律(即我们期望的状态变量βi)和实际状态变量之间的误差,即误差变量:(3-4)式(3-4)不包含i=0,即x1的情况,故取q1=x1d-x1,其中x1d为系统的第一个状态量的期望值,误差变量集合如式(3-5):(3-5)式(3-5)考虑了系统的前n-1个子系统,接下来对第n个子系统的实际控制量设计,使得在系统输入的控制作用下,式(3-5)中的最高阶误差收敛至0,由于虚拟控制律是依次设计的,各阶子系统也就渐近稳定。控制量u的求解过程实际上被分为了n步,前n-1步依次求解各阶子系统理想的虚拟控制量β1,β2,…,βn-1;最后一步求取实际控制输入u。下面给出反步法控制律的具体推导过程。第一步,q1=x1d-x1,定义Lyapunov函数为:(3-6)对V1求导:(3-7)当负定时,误差变量能渐进收敛到零,因此期望具有如下形式:(3-8)为了描述的实际值(3-7)与期望值(3-8)之间的差距,表示出理想的虚拟控制量β1的表达式:(3-9)(3-10)此时,实际的可以整理为:(3-11)观察式(3-11)可知,若该式的最后一项等于零,那么可以负定,即第一个子系统在虚拟控制律β1的作用下渐进稳定。计算此时的表达式为:(3-12)定义Lyapunov函数为:(3-13)对V2求导:(3-14)为保证两个误差变量均渐进收敛到零,期望V2的导数有如下形式:(3-15)为了描述的实际值(3-14)与期望值(3-15)之间的差距,表示出理想的虚拟控制量β2的表达式:(3-16)(3-17)此时,实际的可以整理为:(3-18)观察式(3-18)可知,若该式的最后一项等于零,则可以负定,即第二个状态在虚拟控制律β2的作用下渐进稳定。此时,(3-11)中的g1q1q2项被消除,取而代之的是g2q2q3项。若能够按照同样的思路去设计下一个子系统,则该项可以在第三步的推导中消除。计算此时的表达式为:(3-19)以此类推……第i步,定义Lyapunov函数为:(3-20)对Vi求导:(3-21)为保证i个误差变量均渐进收敛到零,期望Vi的导数具有如下形式:(3-22)为了描述的实际值(3-21)与期望值(3-22)之间的差距,我们表示出理想的虚拟控制量βi的表达式:(3-23)此时,式(3-21)可以整理为:(3-24)观察式(3-24)可知,若该式的最后一项等于零,则可以负定,即第i个子系统在虚拟控制律βi的作用下渐进稳定。继续按此流程设计就可以保证giqiqi+1项将在第i+1步的推导中消除。计算此时的表达式为:(3-25)以此类推……第n步,定义Lyapunov函数为:(3-26)对Vn求导:(3-27)式(3-27)中出现了所要设计的系统控制输入u,通过u的作用使整个误差系统的n个误差变量均渐进收敛到零,因为u不再是虚拟控制,而是实际输入量,故令系统的输入u为:(3-28)将系统的(3-28)代入到式(3-27)中,得到的表达式为:(3-29)此外,还可以推出的表达式为:(3-30)整理上面的n步推导过程,得到虚拟控制量与系统输入的表达式:(3-31)误差系统模型:(3-32)由Lyapunov稳定性理论,只要参数k1,k2,…,kn均大于0,就能保证严格反馈系统的渐进稳定,但目前能够解决非线性系统动态特性问题的理论还比较匮乏,因此本课题后期拟尝试采用强化学习的方式进行参数整定,以实现对动态指标进行优化的目的。3.3模型简化和控制器结构分析四旋翼飞行器的机体角速度和欧拉角的导数之间有如下关系:(3-33)当俯仰角θ和滚转角γ角度不大时,正弦和正切值趋近于0,而余弦值趋近于1,则此时式(2-53)可简化为如下形式:(3-34)将关系式(3-34)代入到2.4节中推导出的系统模型(2-20)中,并忽略系统不确定性以及外界干扰,就得到系统的简化模型如下:(3-35)四旋翼飞行器属于欠驱动系统,其具有4个独立的输入,但共有6个自由度,即3个旋转自由度和3个平动自由度。欠驱动的特性决定了四旋翼的6个自由度并完全可控,事实上,我们可以控制姿态角和高度,而无法独立控制水平移动。基于以上考虑,系统控制结构的一种划分方式为四通道控制,具体表现形式为:(3-36)(3-37)(3-38)(3-39)但对于采用反步法控制器的四旋翼飞行器控制系统,四通道结构形式并不合适,原因如下:对(3-35)中的前三个方程,即简化后的系统平动模型进行整理,可得到如下约束关系:(3-40)观察前文中反步法的推导过程,可以发现这样的规律:反步控制器表达式的复杂程度,以及信号的微分次数均与系统的阶数成正相关,也就是微分爆炸现象,显然在反步控制系统设计时,我们需要避免高阶系统,以避免设计控制器时多次求解微分。将式(3-40)代入(3-36)和(3-37)可以发现,四通道结构中出现了四阶系统,需要进行四阶求导运算,这是我们不希望的。从四旋翼飞行器模型(3-35)中可以看出系统的耦合特性:系统前三个动力学方程,即姿态动力学部分是独立的,而后三个平动方程却包含姿态角。举例说明,欲使机体沿x轴正向移动,就需要沿x轴正向的分力,这要求我们先获得一个负的俯仰角θ以使旋翼升力产生分量。考虑到姿态相对位置的独立性,基于双回路结构设计系统是较好的选择,将姿态设计为内回路,位置设计为外回路。控制系统的双回路结构示意图如图3-1所示。其中位置控制器的输入信号为三个方向的速度与加速度,输出信号为四个旋翼总的升力fr在地面坐标系中三个轴上的投影fre=(frx,fry,frz)T,以及完成平动任务所期望的俯仰信息与滚转信息。偏航、俯仰和滚转三个通道的角度信号和角速度信号则作为姿态控制器的输入,其输出信号为四个旋翼总力矩在机体坐标系三个坐标轴上的投影τrb=(τrx,τry,τrz)T。模型接受控制器输出、外界干扰和由安装误差导致的不确定性的共同作用,输出位置和姿态的信息,并分别将位置信息和姿态信息反馈给对应的控制器。指令信号指令信号位置控制器姿态控制器四旋翼模型图3-1控制系统双回路结构示意图总之,采用双回路控制结构为四旋翼飞行器的控制带来诸多便利:首先,该结构更适合反步法,因为可用6个二阶的子系统近似原系统;其次,系统的姿态部分完全可控,而位置的改变需要依赖相应的姿态角,更符合实际情形。最后,当内回路带宽远大于外回路时,可以单独考虑、设计每个回路。结合多方面考虑,最终设计的反步控制器将以双回路控制结构为基础。3.4四旋翼反步控制器设计设计控制器的过程中,忽略环境干扰和不确定性因素,并假设俯仰角和滚转角均为小角度。针对简化模型(3-35),定义如下虚拟量:(3-41)将式(3-41)代入到式(3-35)中,整理得到以下模型:(3-42)对于姿态部分,在小角度假设前提下,可认为上面的6个子系统均具有严格反馈形式。首先考虑(3-42)中的三个平动方程,按照反步法设计旋翼升力为:(3-43)同时得到两个定义的虚拟控制量:(3-44)上面两个表达式中,误差变量表达式如下:(3-45)根据式(3-44),整理得到俯仰通道和滚转通道的期望指令信号:(3-46)反步控制系统工作时,要对俯仰角和滚转角的范围加以限制,避免出现安全问题,对俯仰角和滚转角给出如下约束条件:(3-47)其中γmax和θmax是两个均在(0,π/2)内取值的给定值。结合式(3-46)和(3-47),对俯仰、滚转两个通道,给出包含约束条件的指令信号如下:(3-48)式(3-43)和式(3-48)共同构成四旋翼飞行器的位置控制器。对(3-42)中的三个转动微分方程应用反步法,设计三个方向的姿态控制器,最终得到的表达式为:(3-49)式中转动部分误差变量分别为:(3-50)其中,θd和γd由前面设计出的位置控制器输出来确定。值得注意的是,上述反步控制器的设计求解过程,仅是在适当简化下对6个二阶子系统分别进行设计,严格地讲,应对简化后的整体系统重新进行稳定性证明。令:取Lyapunov函数:(3-51)对V求导有:(3-52)控制器如下所示:(3-53)将模型和控制器代入式中,整理得到如下结果:(3-54)其中:(3-55)系统姿态方程独立于位置方程且完全可控,θ和γ可通过调节姿态控制器参数而快速收敛,则式(3-55)中的两个值可认为是零。此时有:(3-56)可认为系统是Lyapunov稳定的,至此,针对第2章建立的四旋翼飞行器模型,在合理假设并对模型进行适当简化的前提下,应用反步法设计出由式(3-53)描述的系统整体的控制器表达式。3.5模型搭建及仿真结果分析3.5.1仿真环境介绍在仿真环境下搭建四旋翼飞行器模型和反步控制器,通过定点悬停、定速跟随和轨迹跟踪这三类仿真任务对反步控制器进行仿真实验与性能验证。仿真步长设为变步长模式,最大步长为10-4秒。采用的模型参数如下表所示:表2-1采用模型参数参数符号数值参数说明m1.4kg机体质量Jx0.03kg·m2沿x轴转动惯量Jy0.04kg·m2沿y轴转动惯量Jz0.03kg·m2沿z轴转动惯量Jr5.626×10-5kg·m2电机转子及旋翼的转动惯量l0.2m转轴到质心的距离g9.8m·s-2重力加速度c11.105×10-5N/(rad/s)2综合拉力系数c21.489×10-7N·m/(rad/s)2综合力矩系数在仿真环境下搭建如图3-2所示模型,包括:指令模块:用于生成所需的位置信号、偏航信号,或是用于跟踪的速度信号和目标轨迹;控制器模块:其内部分为位置控制器和姿态控制器两部分,该模块观测四旋翼飞行器模型输出的位置和姿态反馈信息,输出升力和三轴力矩信号。四旋翼飞行器模型模块:其内部同样分为位置模型和姿态模型两部分,该模块接收旋翼输出的力与力矩,输出位置与姿态信息。图3-2系统仿真框图控制器参数暂取为:3.5.2定点悬停初始条件设定为:指令信号设定为:在干扰为0的情况下,系统的仿真结果如下所示。图3-3响应信号曲线图图3-4升力及力矩信号曲线图图3-3的左上、左下、右上和右下四幅子图片分别展示了系统响应的位置、速度、姿态和角速度变化曲线,x、y、z的颜色顺序依次为红、绿、蓝,线型顺序依次为实线、虚线、点划线;γ、φ、θ的颜色顺序依次为红、绿、蓝,线型顺序依次为实线、虚线、点划线。图3-4的左上、左下、右上和右下四幅子图片分别展示了系统的升力曲线、x轴方向力矩曲线、y轴方向力矩曲线、z轴方向力矩曲线。3.5.3定速跟随初始条件和指令信号分别设定为:在干扰为0的情况下,系统的仿真结果如图3-5和3-6所示:图3-5响应信号曲线图图3-6升力及力矩信号曲线图3.5.4跟踪螺旋上升轨迹初始条件设定为:待跟踪信号设定为一螺旋信号,该信号沿y轴速度为0.5m/s缓慢上升,旋转半径为2m,旋转周期为10s,要求机体跟随轨迹进行同周期旋转,信号表达式如下:系统仿真结果如图3-7所示,左上、左下、右上、右下依次为位置误差曲线、偏航角误差曲线、升力曲线和力矩信号变化曲线。图3-7误差及作用力曲线图分析仿真结果可知,无干扰情况下,系统能稳定跟踪定点、定速和轨迹信号,调节时间均小于5秒,稳态误差为零,反步控制器设计取得了初步成效。3.6本章小结本章首先以一个严格反馈系统为例推导了一般意义下的反步控制律,并在第2章建立的四旋翼飞行器动力学模型的基础上,权衡四旋翼飞行特点、反步法的易用性等方面,选择了姿态-位置的内外双回路作为四旋翼飞行器的控制结构;将前文的动力学模型简化为适用于反步法的严格反馈形式,对6个二阶子系统分别设计反步控制器,并证明了系统整体的Lyapunov稳定性,最后在仿真平台完成了四旋翼飞行器的定点悬停、定速跟随和轨迹跟踪实验,初步验证了反步控制器的有效性。该反步控制器共有12个控制器参数,人工整定这些参数需要一定的经验,仅靠试凑调节则较为繁琐困难,下一章将引入强化学习的思路对姿态控制器的反步参数进行整定。第4章基于强化学习的姿态控制器参数整定4.1引言本章主要介绍强化学习的核心思想、基本要素、算法分类以及强化学习的局限性,阐述了强化学习与传统控制方法结合的优势,并基于深度确定性策略梯度(DDPG)方法实现姿态控制器的参数整定,将参数整定这一过程形式化为无模型的马尔可夫决策过程,首先对任务性质、智能体、环境、奖励和策略等方面进行需求分析,并按照需求的特性选取DDPG算法作为训练方案,之后在仿真环境中创建强化学习的智能体与环境,搭建神经网络,选取合适的超参数和回报函数,在软件环境中训练得到一组静态的优化参数,并将其应用至反步控制器进行仿真,对二者的实验结果进行比较和分析。4.2强化学习理论介绍4.2.1强化学习思想回顾人类的学习模式可以发现,人类是通过与环境交互来学习的。与环境的交互的过程中也是信息产生和流动的过程,生物体能敏锐地察觉这些信息,通过它们来衡量环境对其动作的响应,并对环境施加动作来试图影响结果。与其它机器学习算法不同,强化学习更强调交互,智能体通过不断的试错(Trial-and-Error),通过与环境的交互结果判断动作的价值,常用来做序列决策或者控制问题。简言之,强化学习就是在学习“做什么才能使得收益最大化”。典型的强化学习问题通常有以下几个特点:(1)奖励随动作不同而不同;(2)奖励在时间上具有延迟性;(3)回报不仅决定于动作,也决定于所处的环境。强化学习任务中的常见挑战是试探(exploration)和开发(exploitation)的权衡问题。为了获得大量的收益,智能体一定会更偏好那些当前收益很高的动作,但为了发现高收益的动作,往往需要去探索尚未选择过的动作,智能体探索的次数是有限的,因此我们必须在探索和开发之间进行平衡和折中。4.1.2强化学习算法分类强化学习算法可以有多种依据:可以根据对环境模型的依赖程度(即状态转移概率是否已知)分为有模型的强化学习(Model-basedRL)和无模型的强化学习(Model-freeRL),前者可以依赖对环境的先验知识进行规划,即在真正经历前,先考虑未来发生的各种情境从而预先采取动作;后者则主要通过直接的试错进行策略学习和模型学习。可以根据算法的迭代目标进行分类,基于价值函数(Value-based)的强化学习算法只用于价值函数迭代,基于策略(Policy-based)的强化学习算法只用于策略迭代,而行动器-评判器(Actor-Critic)算法同时迭代价值函数和策略。还可以根据目标策略和行为策略的统一性分为同轨策略(on-policy)算法和离轨策略(off-policy)算法,前者用于生成采样数据的策略(行动策略)和用于训练的待评估和改进的策略(目标策略)是相同的,而在后者的算法中二者是不同的,这是为了在训练过程中采取更具有试探性的策略以寻找高回报的动作,而最终的目标策略则更倾向于开发这些高收益的动作。此外,强化学习算法还可以依据策略的确定性或回报函数的已知性等多种指标进行分类,图4-1是前两种分类方式的直观呈现,可见不同的分类方法是存在交叉的。图4-1强化学习不同的分类方式4.1.3强化学习与传统控制方案结合在第1章已经阐述过强化学习的复杂度问题,近年来泛化方法的应用和与深度学习的结合使得强化学习也可以胜任连续动作空间的决策任务。但强化学习仍然存在着一些棘手的问题,这些问题使得仅采用强化学习解决控制问题时更容易陷入困境。首先,复杂策略的可解释性不足。从数学意义上讲,智能体学习的策略是从状态到每个动作选择概率之间的映射,在现代强化学习任务中,策略通常由一个神经网络表示,它可能有数百个权重、偏差和非线性激活函数。这些值和网络结构进行复杂的组合并将观测值映射为动作,对于设计者来说,所有困难的计算借助神经网络压缩到一个逻辑黑箱内,其中每一个权重或偏差的影响因素都很难确定,当被控对象或环境发生变化时,想要在原有策略上进行改进或修正几乎是不可能的。而对于一个基于传统方案的控制系统,其中通常存在一个带有回路和级联控制器的层次结构,每个环节分别用于控制具体的系统动态特性,这使得改进传统控制器时更容易将问题定位到特定位置并进行具体分析,也可以控制变量对某一环节进行独立测试,以确保它能在指定条件下运行。如果强化学习的策略出现问题,却不能修复出现问题的部分,那么设计者必须重新设计智能体或环境模型,然后再次对其进行训练,这样循环往复的训练周期会耗费更多的时间。其次,虽然强化学习可以不依赖环境模型,但却有着较高的试错成本,因此学习过程往往会在仿真平台进行,最后将策略应用至物理平台。但仿真平台上与智能体交互的环境同样来源于对现实环境模型的理想化,当模型精度不高时,仿真平台上的策略未必是硬件平台上的最优策略。而据上文所述,复杂的策略一旦出现问题,设计者几乎不可能对其进行改进。这强化学习策略在应用至硬件平台时会存在安全性问题。最后,强化学习得到的策略缺乏泛化性。对于学习策略,很难根据系统在某一状态下的行为去预测另一状态下的行为,也就很难根据某一次试验的结果推断其它试验的结果,而传统控制方案可以通过一些数学形式进行性能的验证,如线性系统中的性能指标、稳定裕度和频率特性等均可通过理论计算得到,而面对基于复杂神经网络的策略,其性能更难在一系列数学规范中进行验证。将强化学习与传统控制方案结合,可以显著改善上文所阐述的问题,具体的做法是:按照传统控制器的结构设计系统,并将强化学习作为传统控制器的优化工具。这样既可以充分利用传统控制器结果的鲁棒性、安全性、可变性和可验证性,又可以借助强化学习寻找控制器参数的最优组合,而一旦得到一组最优增益,强化学习的任务就已经结束,可以直接将控制器参数应用至硬件平台,不需要对强化学习的结果进行修改和验证,这无疑是一个两全其美的方案。下面将应用深度确定性策略梯度算法(DDPG)对四旋翼无人机反步控制器参数进行优化。4.3基于DDPG算法的参数智能整定4.3.1Q-Learning和DQN算法Watkins于1989年提出了离轨状态下的时序差分算法——Q-LearningREF_Ref2011\r\h[37],这是强化学习早期的一个重要突破,Q-Learning算法是强化学习思想的一种很好的表现和诠释,并且在一些离散的、状态较少的任务中,Q-Learning有很好的表现。它采用“状态-动作”二元组处理奖励问题,然后利用一张二维表格——Q值表来记录每一对“状态-动作”二元组对应的动作价值函数估计Q。其更新公式定义为:(4-1)待学习的动作价值函数Q采取对最优动作价值函数的直接近似作为学习和更新目标,而与生成智能体决策序列轨迹的行动策略是什么无关。只要行动策略保证所有“状态-动作”二元组都能持续更新,那么Q能以1的概率收敛至最优动作价值函数。由于这张表格的状态和动作都是有限的,所以无论是连续域任务,还是状态空间和动作空间较大的任务,传统的Q-Learning都难以胜任。Mnih等人提出的DQN(DeepQNetwork)REF_Ref913\r\h[23]是深度强化学习领域的开创性工作,DQN采用经验回放机制,增加了数据的使用效率,并采用深度卷积网络(Q网络)逼近动作价值函数,Q网络的作用与Q-Learning中的Q表作用相同。借助深度卷积网络,DQN支持连续的状态表示,而由于DQN的动作价值函数更新公式仍为式(4-1),DQN仍不能直接应用到连续的动作域,因为max函数不适用于动作取连续值的情况。2015年,LillicrapREF_Ref23688\r\h[12]等人将DQN的思想应用于连续动作域中,提出了基于DPG与Actor-Critic的DDPG算法,DDPG采用Actor网络作为策略网络,通过梯度上升寻找最大的动作价值函数。4.3.2DDPG算法原理DDPG的伪代码如图4-2,该算法的神经网络结构与Actor-Critic算法相同,Actor网络是一个从状态st到动作μ的映射,其任务是通过梯度上升的方法寻找最大的动作价值Q并输出其对应的动作;而Critic网络接受状态输入st和动作输入μ,输出为对应的动作价值Q,其任务是预估某一状态下某动作的动作价值Q,通过梯度下降法最小化损失函数L,并更新其参数θQ。图4-2DDPG算法伪代码Critic网络可以通过多次迭代逐步收敛到目标值y,但如果目标值y和Critic网络进行同步更新,则Q网络尚未收敛到目标值y时,y已经进行了下一次更新,这样收敛的难度就会增大。所以DDPG保留了DQN的目标网络方法,具体机制如下:建立Actor网络和Critic网络的副本作为目标网络,采用移动平均的方法对目标网络的权重θ进行缓慢更新,每次更新都由旧的平均值与新的平均值进行加权,以避免目标值变化过于迅速。(4-2)移动平均有如下特点:移动平均的结果和真实平均值有一定差距,但在新元素和旧平均值相差不大的情况下,最终是趋于均值的;移动平均法不需要保存所有的元素,也不需要保存元素个数,只需要保存一个旧均值就可以了,方便进行增量式更新,减少对内存和算力的要求;即使有个别元素比较大,对均值的影响还是比较温和的,不会造成巨大的跳变。DDPG还保留了DQN的经验回放机制,即在每个时间节点保留智能体获得的经验(st,at,rt,st+1),当对智能体进行训练时,随机从经验池里提取样本并对网络参数进行更新,重复采样历史数据提高了数据的利用效率,有助于提高运行速度,并且该算法可从一组互不相关的状态转移样本中进行学习。最后,DDPG作为离轨策略算法,通过在行动策略中额外增加噪声项来使策略更具探索性,使其在连续动作空间的学习过程效率更高。综上所述,DDPG是吸收了DPG和AC算法的结构形式,并承接了Q-Learning和DQN算法的核心思想而诞生的,相比Q-Learning和DQN算法,DDPG算法更适合连续域,计算量更低,本文拟采用DDPG算法对姿态控制器的6个反步法参数进行整定。4.3.3采用DDPG算法整定参数4.3.3.1需求分析与任务框架在利用DDPG算法整定参数前,首先对任务需求进行分析。对于四旋翼飞行器仿真系统,参数的改变对于系统动态性能的影响具有马尔可夫性,因此参数的整定过程是一个马尔可夫决策过程,可以用强化学习的思路解决。本任务中,智能体对反步参数的一次整定被定义为一个动作,智能体的动作处于连续空间内;我们感兴趣的一组系统动态指标被定义为环境的一个状态,其同样处于连续空间内;从反步控制的角度看,任务的最终目标是获得一组静态的姿态反步控制器参数,实现良好的动态特性;从强化学习的角度看,任务的最终目标是使智能体学习到能使回报总和达到最大的一个策略,而回报函数将基于系统的动态指标设计。模型每一次仿真开始都会将反步参数随机初始化,每一次仿真结束之后的回报都为0,因此这个任务可视为分幕式任务,每一次仿真都是一幕。下面是基于DDPG算法的姿态控制器参数整定框架。图4-3基于DDPG的参数整定器示意图4.3.3.2神经网络的设计本任务中,动作价值的估计和动作的选取都以神经网络为核心,因此首先对神经网络模块进行设计。Actor网络为策略网络,其输入为一个状态st,网络选取在此状态下价值估计最高的动作μ(st|θμ);Critic网络为评价网络,其输入是一对“状态-动作”二元组(s,a),网络返回这个动作的价值估计Q(s,a|θQ)。二者网络结构如图4-4所示。其中,应用修正线性单元(RectifiedLinearUnit,ReLU)激活函数和tanh函数对神经网络进行非线性化。ReLU函数和tanh函数的数学表达式如下:(4-3)(4-4)ReLU函数对所有的负值进行单侧抑制,解决了梯度消失问题,使模型能够更好地挖掘数据的特征,进而提高拟合训练数据效率,维持模型的收敛速度。tanh函数可以平滑输出并扩大特征效果,但该函数梯度较小,权重更新缓慢,故本文将tanh作为Actor网络最后一层神经元的激活函数。图4-4神经网络结构图4.3.3.3回报函数的设计智能体对姿态控制器参数进行整定,则观测值选取为三轴姿态角γ,φ,θ及三轴姿态角速度γ’,φ’,θ’。回报函数按照图4-5所示的逻辑计算:图4-5回报函数设计结果强化学习缺乏传统控制方案的泛化性,其输出依赖于与智能体交互的环境,但由于本文整定的是一组控制器参数,因此输入信号采用定点悬停任务中的信号输入即可,得到的参数结果仍然具备对不同输入的泛化性。定点悬停任务中,角度γ,θ和三轴角速度γ’,φ’,θ’的收敛值为0,即它们的绝对值与误差公式等价。偏航角φ由于设定了初始值,因此误差的计算需要引入期望值φd。本任务回报函数的设计结果较为直观:首先,我们希望姿态角保持稳定,尽快收敛且稳态误差较小,因此当角度误差小于设定的阈值时,表明智能体对姿态的控制结果良好,应当获得一定的奖励;一旦误差过大,则表明控制结果较差,甚至会引起不稳定,此时要给出一个较高的惩罚;在调节过程中,滚转通道波动较大,是控制效果的短板,因此对于γ和γ’引入较高的惩罚权重,使其更快收敛。4.3.3.4其它超参数的设计DDPG的主要部分设计至此完成,下面进行超参数的设计。本任务涉及到的超参数及其值如表4-1所示。表4-1超参数设计表参数名称数值Actor学习率10-4Actor梯度阈值1Critic学习率10-3Critic梯度阈值1探索噪声方差0.3噪声方差衰减率10-5采样时间Ts1s模拟时间Tf20s最大训练幕数500移动平均系数τ10-3折扣系数γ1.00批样本数64经验池长度106L2正则化参数10-4平均回报窗口长度204.3.3参数整定结果基于以上设计,在仿真环境训练500幕后,智能体所获得的平均回报如图4-6所示。可见在250次训练后,智能体每一幕的回报值逐渐收敛。图4-6训练过程中每一幕的回报值最后一幕的即时回报值变化如图4-7所示,4秒前后回报值收敛。图4-7最后一幕回报值图4-8为最后一幕的姿态控制器参数,计算其

温馨提示

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

最新文档

评论

0/150

提交评论