版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
四旋翼飞行器基于强化学习的姿态控制器参数整定案例分析目录TOC\o"1-3"\h\u9804四旋翼飞行器基于强化学习的姿态控制器参数整定案例分析 1201931.1引言 1279421.2强化学习理论介绍 1297611.2.1强化学习思想 1315821.1.2强化学习算法分类 226021.1.3强化学习与传统控制方案结合 3176821.3基于DDPG算法的参数智能整定 490601.3.1Q-Learning和DQN算法 4195831.3.2DDPG算法原理 5290361.3.3采用DDPG算法整定参数 773201.3.3参数整定结果 1074661.4基于优化反步参数的仿真结果分析 13259531.1.1定点悬停实验 13323571.1.2跟踪常值速度信号 14123041.1.3轨迹跟踪 151.1引言本章主要介绍强化学习的核心思想、基本要素、算法分类以及强化学习的局限性,阐述了强化学习与传统控制方法结合的优势,并基于深度确定性策略梯度(DDPG)方法实现姿态控制器的参数整定,将参数整定这一过程形式化为无模型的马尔可夫决策过程,首先对任务性质、智能体、环境、奖励和策略等方面进行需求分析,并按照需求的特性选取DDPG算法作为训练方案,之后在仿真环境中创建强化学习的智能体与环境,搭建神经网络,选取合适的超参数和回报函数,在软件环境中训练得到一组静态的优化参数,并将其应用至反步控制器进行仿真,对二者的实验结果进行比较和分析。1.2强化学习理论介绍1.2.1强化学习思想回顾人类的学习模式可以发现,人类是通过与环境交互来学习的。与环境的交互的过程中也是信息产生和流动的过程,生物体能敏锐地察觉这些信息,通过它们来衡量环境对其动作的响应,并对环境施加动作来试图影响结果。与其它机器学习算法不同,强化学习更强调交互,智能体通过不断的试错(Trial-and-Error),通过与环境的交互结果判断动作的价值,常用来做序列决策或者控制问题。简言之,强化学习就是在学习“做什么才能使得收益最大化”。典型的强化学习问题通常有以下几个特点:(1)奖励随动作不同而不同;(2)奖励在时间上具有延迟性;(3)回报不仅决定于动作,也决定于所处的环境。强化学习任务中的常见挑战是试探(exploration)和开发(exploitation)的权衡问题。为了获得大量的收益,智能体一定会更偏好那些当前收益很高的动作,但为了发现高收益的动作,往往需要去探索尚未选择过的动作,智能体探索的次数是有限的,因此我们必须在探索和开发之间进行平衡和折中。1.1.2强化学习算法分类强化学习算法可以有多种依据:可以根据对环境模型的依赖程度(即状态转移概率是否已知)分为有模型的强化学习(Model-basedRL)和无模型的强化学习(Model-freeRL),前者可以依赖对环境的先验知识进行规划,即在真正经历前,先考虑未来发生的各种情境从而预先采取动作;后者则主要通过直接的试错进行策略学习和模型学习。可以根据算法的迭代目标进行分类,基于价值函数(Value-based)的强化学习算法只用于价值函数迭代,基于策略(Policy-based)的强化学习算法只用于策略迭代,而行动器-评判器(Actor-Critic)算法同时迭代价值函数和策略。还可以根据目标策略和行为策略的统一性分为同轨策略(on-policy)算法和离轨策略(off-policy)算法,前者用于生成采样数据的策略(行动策略)和用于训练的待评估和改进的策略(目标策略)是相同的,而在后者的算法中二者是不同的,这是为了在训练过程中采取更具有试探性的策略以寻找高回报的动作,而最终的目标策略则更倾向于开发这些高收益的动作。此外,强化学习算法还可以依据策略的确定性或回报函数的已知性等多种指标进行分类,图4-1是前两种分类方式的直观呈现,可见不同的分类方法是存在交叉的。图4-1强化学习不同的分类方式1.1.3强化学习与传统控制方案结合在第1章已经阐述过强化学习的复杂度问题,近年来泛化方法的应用和与深度学习的结合使得强化学习也可以胜任连续动作空间的决策任务。但强化学习仍然存在着一些棘手的问题,这些问题使得仅采用强化学习解决控制问题时更容易陷入困境。首先,复杂策略的可解释性不足。从数学意义上讲,智能体学习的策略是从状态到每个动作选择概率之间的映射,在现代强化学习任务中,策略通常由一个神经网络表示,它可能有数百个权重、偏差和非线性激活函数。这些值和网络结构进行复杂的组合并将观测值映射为动作,对于设计者来说,所有困难的计算借助神经网络压缩到一个逻辑黑箱内,其中每一个权重或偏差的影响因素都很难确定,当被控对象或环境发生变化时,想要在原有策略上进行改进或修正几乎是不可能的。而对于一个基于传统方案的控制系统,其中通常存在一个带有回路和级联控制器的层次结构,每个环节分别用于控制具体的系统动态特性,这使得改进传统控制器时更容易将问题定位到特定位置并进行具体分析,也可以控制变量对某一环节进行独立测试,以确保它能在指定条件下运行。如果强化学习的策略出现问题,却不能修复出现问题的部分,那么设计者必须重新设计智能体或环境模型,然后再次对其进行训练,这样循环往复的训练周期会耗费更多的时间。其次,虽然强化学习可以不依赖环境模型,但却有着较高的试错成本,因此学习过程往往会在仿真平台进行,最后将策略应用至物理平台。但仿真平台上与智能体交互的环境同样来源于对现实环境模型的理想化,当模型精度不高时,仿真平台上的策略未必是硬件平台上的最优策略。而据上文所述,复杂的策略一旦出现问题,设计者几乎不可能对其进行改进。这强化学习策略在应用至硬件平台时会存在安全性问题。最后,强化学习得到的策略缺乏泛化性。对于学习策略,很难根据系统在某一状态下的行为去预测另一状态下的行为,也就很难根据某一次试验的结果推断其它试验的结果,而传统控制方案可以通过一些数学形式进行性能的验证,如线性系统中的性能指标、稳定裕度和频率特性等均可通过理论计算得到,而面对基于复杂神经网络的策略,其性能更难在一系列数学规范中进行验证。将强化学习与传统控制方案结合,可以显著改善上文所阐述的问题,具体的做法是:按照传统控制器的结构设计系统,并将强化学习作为传统控制器的优化工具。这样既可以充分利用传统控制器结果的鲁棒性、安全性、可变性和可验证性,又可以借助强化学习寻找控制器参数的最优组合,而一旦得到一组最优增益,强化学习的任务就已经结束,可以直接将控制器参数应用至硬件平台,不需要对强化学习的结果进行修改和验证,这无疑是一个两全其美的方案。下面将应用深度确定性策略梯度算法(DDPG)对四旋翼无人机反步控制器参数进行优化。1.3基于DDPG算法的参数智能整定1.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网络作为策略网络,通过梯度上升寻找最大的动作价值函数。1.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个反步法参数进行整定。1.3.3采用DDPG算法整定参数1.3.3.1需求分析与任务框架在利用DDPG算法整定参数前,首先对任务需求进行分析。对于四旋翼飞行器仿真系统,参数的改变对于系统动态性能的影响具有马尔可夫性,因此参数的整定过程是一个马尔可夫决策过程,可以用强化学习的思路解决。本任务中,智能体对反步参数的一次整定被定义为一个动作,智能体的动作处于连续空间内;我们感兴趣的一组系统动态指标被定义为环境的一个状态,其同样处于连续空间内;从反步控制的角度看,任务的最终目标是获得一组静态的姿态反步控制器参数,实现良好的动态特性;从强化学习的角度看,任务的最终目标是使智能体学习到能使回报总和达到最大的一个策略,而回报函数将基于系统的动态指标设计。模型每一次仿真开始都会将反步参数随机初始化,每一次仿真结束之后的回报都为0,因此这个任务可视为分幕式任务,每一次仿真都是一幕。下面是基于DDPG算法的姿态控制器参数整定框架。图4-3基于DDPG的参数整定器示意图1.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神经网络结构图1.3.3.3回报函数的设计智能体对姿态控制器参数进行整定,则观测值选取为三轴姿态角γ,φ,θ及三轴姿态角速度γ’,φ’,θ’。回报函数按照图4-5所示的逻辑计算:图4-5回报函数设计结果强化学习缺乏传统控制方案的泛化性,其输出依赖于与智能体交互的环境,但由于本文整定的是一组控制器参数,因此输入信号采用定点悬停任务中的信号输入即可,得到的参数结果仍然具备对不同输入的泛化性。定点悬停任务中,角度γ,θ和三轴角速度γ’,φ’,θ’的收敛值为0,即它们的绝对值与误差公式等价。偏航角φ由于设定了初始值,因此误差的计算需要引入期望值φd。本任务回报函数的设计结果较为直观:首先,我们希望姿态角保持稳定,尽快收敛且稳态误差较小,因此当角度误差小于设定的阈值时,表明智能体对姿态的控制结果良好,应当获得一定的奖励;一旦误差过大,则表明控制结果较差,甚至会引起不稳定,此时要给出一个较高的惩罚;在调节过程中,滚转通道波动较大,是控制效果的短板,因此对于γ和γ’引入较高的惩罚权重,使其更快收敛。1.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平均回报窗口长度201.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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 体育护理专业就业前景
- 黑龙江安全试题及答案
- 2025-2026人教版一年级科学期末考
- 肠易激综合征的肠-肠轴纳米调节策略
- 针织厂卫生管理制度
- 卫生院单位规章制度
- 养生会卫生管理制度
- 木业职业病卫生管理制度
- 公共卫生糖尿病管理制度
- 卫生院医疗管理工作制度
- 安全目标管理制度煤厂(3篇)
- 云南省玉溪市2025-2026学年八年级上学期1月期末物理试题(原卷版+解析版)
- 2026年哈尔滨通河县第一批公益性岗位招聘62人考试参考试题及答案解析
- 就业协议书解约函模板
- 研发部门员工加班管理细则
- 钢结构桥梁施工监测方案
- 2025人教pep版三年级英语上册字帖
- 《5G移动通信》课件-项目六 5G网络中的人工智能技术
- 2025江苏苏州高新区狮山商务创新区下属国有企业招聘9人笔试题库及答案详解
- 教培机构年终工作总结
- 2025年秋季青岛版三年级数学上册求比一个数的几倍多(少)几的数教学课件
评论
0/150
提交评论