温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,汇文网负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
网站客服:3074922707
基于
强化
学习
自适应
PID
无人
直升机
控制
静海
66|电子制作 2023 年 3 月软件开发0 引言随着通信、材料、微电子技术的发展,无人机在实用价值上大大提升,不仅可以在军事任务中出色地完成侦查或者攻击的任务,在民用市场中也可以担负起诸如航拍或者无人机物流方面的任务。而无人机的控制问题在实现直升机无人化的过程中起着至关重要的作用,因此众多学者对直升机的控制问题做了大量研究并取得了不错的成果1-3。比较成熟的控制算法有 PID 控制,鲁棒控制,Bang-Bang 控制等,也有许多新型的控制算法包括反步法,滑模结构控制法4,H控制法5神经网络自适应控制法等一系列的控制方法,其都有各自的优点和不足,但就应用的广泛性来说,因 PID控制其简单可靠,并且经过了漫长的理论体系的完善,并在实际的应用中积累了大量的运用实例与经验可以参考,所以传统的 PID 控制仍能满足大多数的控制需求,但也存在一定的不足,比如不能平衡系统的稳态性能和快速性,针对无人直升机这种多变量,欠驱动,非线性,强耦合参数变化或外部干扰时,可能需要重新人工整定参数才能保证系统的稳定性,因此许多自整定方法被提出,有模糊自适应 PID,但这种方法存在参数优化问题并需要许多先验知识,有神经网络自适应 PID,但此种算法获取监督学习中的教师信号比较困难,有进化算法自适应 PID,但此种算法在实际工程中很难实时控制。因此本文提出了一种基于强化学习思想的自适应控制,解决 PID 算法在无人直升机控制上不能自整定的问题,且该算法不需要先验知识,能对控制器参数实现在线优化。1 无人直升机物理模型建立无人直升机物理模型的建立是直升机控制实现中所必不可少的基础一步,只有一个合理的简单地但包含所有信息的模型,才可以更真实地模拟无人机的运动过程,从而知道影响无人机运动状态的改变需要哪些状态的输入。飞机的姿态角以及速度,飞行的坐标等,都与坐标系的设计密不可分,在分析无人机的动力学系统时我们需要用到机体坐标系和地面坐标系以及两个坐标系之间的转换,并在建模时忽略地球公转和自转对直升机的影响,且把直升机看作刚体,忽略飞机的质量变化把直升机看作左右对称的,采用小扰动线性化方法可得出直升机线性化方程如式(1)所示:XAXBUYCX|=+=|式(1)式中 A 为系统矩阵,B 为输入矩阵,C 为输出矩阵,TXu v w p q r=为状态变量,其中,为姿态角,分别代表俯仰横滚和偏航角。p,q,r 为姿态角求导,分别表示俯仰,滚转和偏航角速度。u,v,w 则表示纵向,侧向和法向速度。eacrU =为控制输入,分别为纵向、横向、总距和航向桨距。2 强化学习强化学习6是机器学习另一重要分支,该算法是通过训练让智能体,学习如何在环境中动作来得到最大的环境奖励。用一句话来说就是解决智能体的决策问题。其原理如图1 所示,即强化学习算法通过不断训练可根据直升机所处的环境进行决策选择不同的动作。状态s奖励r行动a无人机环境 图 1 强化学习原理图本文用到的 Actor-Critic 则是强化学习的一种,其中Actor 部分可通过策略梯度估计方法实现,Critic 部分则采用 TD 算法实现,对于状态 s 执行器根据策略选择动作 a,动作执行后转移到下一状态 s+1,并产生回报信号 r,状态和回报作为 Critic 的输入,输出值函数,并且产生一个 TD误差,TD 误差信号用于神经网络更新学习,不断重复。基于强化学习自适应 PID 的无人直升机控制孙静海,冯航(中国直升机设计研究所,江西景德镇,333001)摘要:针对无人直升机多变量,强耦合和参数变化时传统PID不能在线调节参数的问题,本文首先提出了一种基于强化学习的自适应控制算法,之后将该算法应用于直升机姿态控制,并通过MATLAB仿真与几种常见的自适应控制器对比,结果表明本文所设计的控制器,能在线调节参数,优化系统性能,有不错的动态响应速度和抗干扰能力。关键词:直升机;强化学习;自适应控制DOI:10.16589/11-3571/|67软件开发3 离散化 PID计算机是采样控制,因此需要把 PID 离散化以一系列的采样时刻点kT代表连续时间t,以矩阵法数值积分近似代替积分,以一阶后向差分近似代替微分,即:000 (0,1,2,)()d()()()(1)d()()(1)dkktjjtkTke ttTe jTTe je kTe kTe te ke ktTT=|=|=|=式(2)从而可以得到离散 PID 表达式为:00()()()()(1)()()()(1)kdpijkpidjTTu kke ke je ke kTT k e kke jke ke k=|=+|=+式(3)其中,piik TkT=,pddk TkT=,T为采样周期,k为采样序号,0,1,2,k=,(1)e k 为第1k 时刻的偏差信号,()e k为第k时刻的偏差信号,根据递推原理可得:10(1)(1)()(1)(2)pkidju kk e kke jke ke k=+式(4)进而可得:2()()(1)()(1)()()2(1)(2)()()()pidpidu ku ku kke ke kk e kke ke ke kke kk e kke k=+=+式(5)其 中()()(1)e ke ke k=,2()()2(1)(2)e ke ke ke k=+2()()2(1)(2)e ke ke ke k=+。4 控制器设计基于强化学习的自适应 PID 控制原理如图 2 所示根据,将输入信号与出入信号的差值()e t,经过状态转换器转换成神经网络需要的信号用于神经网络的输入,经神经网络隐含层输出状态转换器将式写成向量形式如式(6)所示:()()u tKx t=式(6)其中2 ()()()()TIpdKk k kx te te te t=,。Actor-Critic 算法用到的 RBF 网络结构如图 3 所示,对于 PID 参数的取值好坏通常用偏差的相关函数来衡量,因此选用偏差作为第一层输入,即向量()x t,激活函()jt数选用高斯核函数如式(7)所示。22()()()exp,1,52jjjx tttj|=|式(7)式(7)中隐节点中心向量123Tjjjj=,j为宽度参数,第三层输出的计算公式如式(8)和式(9)所示:ikActorCriticwijwjk输入层隐藏层输出层信息流kiV(t)kdkp()e t()e t2()e t()jt 图 3 RBF 神经网络模型 541()()(),1,2,5jjjV twttj=式(8)51()()()1,2,5,1,2,3kjkjjk twttjk=式(9)其中jkw为隐含层与输出节点的权值。其中 Actor 部分输出的 PID 控制参数kk需经参数修正,即Kkk=+,式中k是一个期望为零方差为()2()11V tV te=+的正态分布函数。状态转换器增量式PID控制被控对象动作器评价器随机动作修正器1z()y t()dyt()e t()x t()r t()TDt()k t()K t()u t(1)u t图 2 AC-PID 控制原理图68|电子制作 2023 年 3 月软件开发Critic 部分用 TD 算法学习 Actor-Critic 的误差TD与值函数和回报函数有关,回报函数()r t如式(10)所示:1 12 2()()()r ta r ta r t=+式(10)式中,1,2ia i=为()ir t的学习率,()ir t的定义为:10,()()1,e tr t|=|式(11)0,()(1)()1,e te tr t|式(12)其中为误差带容许值,在本文中取0.01=。()(1)(),01TDr tV tV t=+式(13)本文中取0.9=,式中参数更新,首先定义系统学习性能为内部回报 TD 误差TD的函数如式(14)所示。21()()2TDE tt=式(14)利用梯度下降进行权值更新即:3(1)()jkjkEwtwtaw+=+式(15)式中3a为学习率是一个常数可对其进行调节:()2()()1()()2()()()()TDTDjTDTDV tTDjV tK tk tEEtwwK tk tt=式(16)把上式代入式(15)得:3()()()(1)()()()jkjkTDjV tK tk twtwtatt+=+式(17)同理:444(1)()()()jjTDjwtwtatt+=+式(18)隐含层节点中心和宽度更新公式如下:542()()(1)()()()()iijjkjkTDjjjx ttttwttt+=+式(19)244643()()(1)()()()()iijjjTDjjjx ttttwttt+=+式(20)5 仿真验证本部分将以直升机模型为仿真对象,对直升机的俯仰角进行控制,其中各个参数分别设置如下。1234560.80.1518350.020.015aaaaaa=,1234560.80.1518350.020.015aaaaaa=,,0.9=,0.01=设定目标函数方波函数和正弦函数,其跟踪结果如图 4 和图 6所示,图 5 和图 7 分别为方波跟踪误差和正弦跟踪误差。从图中可以看出本文所设计的算法可以很好地跟踪目标曲线,为了进一步验证本文所提出的 AC-PID 算法的优劣,将本文算法同初始设定参数的PID算法,模糊自适应算法7,和神经网络自适应算法8作对比,将目标角度设定为 6 度,仿真结果如图 8 所示,从图中可以看出未进行参数整定的PID 控制器存在明显的超调,虽上升时间相对较短但超调严其他其他图 4 方波函数跟踪曲线图 5 角度跟踪误差图 6 正弦跟踪曲线|69软件开发重,其余三种自适应算法控制效果相近,为比较其优劣本文选用了几个指标进行对比结果如表 1 所示。图 7 角度跟踪误差图 8 俯仰角跟踪曲线对比图图 9 滚转角跟踪曲线对比图表1 控制效果分析表控制方式上升时间(s)调整时间(s)稳态误差(%)AC-PID0.691.050.68模糊自适应1.391.620.68神经网络自适应0.751.230.33从表 1 可以看出本文所设计的算法相比于其他两种算法具有上升时间快调整时间短的优势,但也存在稳态误差相对较大的缺点,同时由于直升机的强耦合作用,在滚转角设定为 0 时,直升机的横滚角会有一定的变化量,如图 9 所示,从对滚转角的控制效果可以看出本文所提出算法具有一定优势。6 结论针对无人直升机多变量,欠驱动,强耦合和参数变化或外部干扰时传统 PID 不能在线调节参数的问题,本文提出了一种基于强化学习的自适应 PID 控制算法,该算法不需要先验知识,能对控制器参数在线优,通过对比仿真可以看到本文的算法具有不错的控制效果,具有上升时间快、调整时间短的优势,但也存在一定的不足,比如训练时间长,有时控制效果不理想的缺点,有待进一步优化,此外根据强化学习的原理可知,该算法在有足够数据支持和算力的情况下,可以摆脱模型直接应用于直升机控制器设计,即以误差为输入通过训练,Actor 网络直接输出当前姿态对应的控制角度,具有不错的应用前景。参考文献 1 唐永哲.直升机控制系统设计 M.国防工业出版社,2000.2 侯捷,陈谋,刘楠.基于径向基函数神经网络与扩张状态观测器的无人直升机控制 J.控制理论与应用,2021,38(9):1361-1371.3 Hang A N,Xian B.Attitude reinforcement learning control of an unmanned helicopter with verificationJ.Control Theory&Applications,2019.4 石凯,王晓辉,徐会希,等.水下直升机无模型参数自适应滑模控制 J.舰船科学技术,2022,44(10):7.5 Dai X A,Chen Y Y,Sheng S Z.Envelope Protection Control for High-Speed Helicopter Based on RBF and Dynamic TrimmingJ.electronics optics&co