基于深度强化学习的无人机着陆轨迹跟踪控制

2020-02-12 02:22宋欣屿王英勋蔡志浩赵江陈小龙宋栋梁
航空科学技术 2020年1期
关键词:固定翼力矩轨迹

宋欣屿,王英勋蔡志浩赵江陈小龙,宋栋梁

1.北京航空航天大学自动化科学与电气工程学院,北京 100191

2.航空工业自控所飞行器控制一体化技术国防科技重点实验室,陕西 西安 710065

固定翼无人机没有人员伤亡的风险,还有着机动性能强、飞行速度快、航程远、成本低、重量(质量)轻等多种优点,在很多领域得到了广泛的应用。在民用上,固定翼无人机可被用于资源探测、森林防火、城市规划、大气监测、边境及海岸线巡逻等领域。在军用上,可执行空中侦察、战情评估、电子干扰、对地攻击、拦截巡航导弹,甚至空中格斗等多种任务[1]。随着科技的发展,无人机的自主飞行技术日益成熟,但自主着陆仍然是一大难点。据统计,起飞和着陆是无人机最容易发生事故的阶段,而其中着陆最为严重[2]。在很大程度上,轨迹跟踪控制如果不够精确,无人机的飞行安全、任务的完成效果都会受到极大的影响。在飞行安全要求极高的着陆过程中,轨迹跟踪控制显得格外重要[3,4]。

针对无人机的轨迹跟踪控制问题,众多学者提出了多种不同的控制方法,如最为经典的PID控制方法、鲁棒性较好的滑模控制方法、在线辨识改变控制器参数的自适应控制方法等,这些方法虽然都通过了试验的验证,但都有着各自的不足。PID算法最早被用于实际应用中,也最为经典,但它需要人工整定参数,需要经过大量的尝试不断调整,十分繁琐。滑模控制方法虽然响应速度很快,鲁棒性也较强,但它存在抖动的问题,需要配合其他方法一起使用。2016年人工智能机器人AlphaGo 战胜了围棋世界冠军李世石,这场人机大战使人工智能走进了人们的视野。随着人工智能的不断发展,作为人工智能重要组成部分的强化学习算法的研究也日益深入,目前强化学习在诸多领域都取得了成功的应用,如机器人控制领域[5,6]、多智能体编队控制问题[7,8]等。

最早将强化学习应用到无人机控制领域中的是斯坦福大学的吴恩达教授[9],他选择了Yamaha R-50无人直升机作为控制对象。这一直升机全长约3.6m,负载可高达20kg,机上载有一台飞控计算机和多种传感器[10]。吴恩达根据卡内基梅隆大学的Bernard Mettler 团队的方法建立了Yamaha R-50 无人直升机的12 阶模型[11,12],利用强化学习中随机策略搜索算法的思想对直升机进行训练,使其可以维持稳定的悬停状态,试验结果显示了强化学习悬停控制器具有很好的控制效果。此后他又利用强化学习使直升机能完成其他如原地转弯、倒飞、360°翻转等难度更高的动作,均取得了良好的效果。他的学生Pieter Abbeel 利用强化学习中学徒学习的算法,从专业飞手的任务演示中获取训练集进行学习,设计出了直升机的控制器,这一算法极大地提高了直升机控制的自主性,抗干扰能力也较强。

强化学习方法虽然获得了一些有效的应用,但是大多数特征状态需要人工设定,在面对高维数据所表示的复杂环境时,难以找到合适的特征表达方法,容易陷入维数灾难问题。而深度学习网络无须人类干预,可以自动进行特征提取[13]。因而将深度学习与强化学习相结合,由强化学习定义任务的模型目标及优化的方向,深度学习给出表征问题以及解决问题的方式,就可以更好地解决高维连续空间的控制问题。

针对固定翼无人机着陆轨迹跟踪控制问题,本文基于大量的训练设计了深度强化学习轨迹跟踪控制器,仿真试验结果表明,这一控制方法实现了对固定翼无人机着陆轨迹的一体化跟踪控制且控制精度优于PID控制方法。

1 固定翼无人机建模

本文选取了Ultra Stick 25E无人机(见图1)作为参考对象。这是一架小型商用无线电遥控固定翼无人机,该无人机具有传统的水平和垂直尾翼,采用对称翼型机翼,并具有副翼和襟翼操纵面。其所有操纵面均由Hitec 伺服系统驱动,推进系统由一台功率为600W 的E-Flite 电动机和APC 12×6的螺旋桨组成[14]。

无人机是一个十分复杂的多输入多输出的非线性系统,若考虑飞行过程中所有的因素会给建模带来极大的难度。由于本文的小型固定翼无人机在大气层内飞行,飞行速度和高度有限,因此可以做出合理地假设以简化模型。作用在无人机上的重力、推力、空气动力和力矩是因为不同的原因而产生的,合理地选择坐标系分析受力有助于简化计算。本文选择了地面坐标系来分析无人机受到的重力作用,选择机体坐标系分析无人机受到的推力和力矩的影响,选择气流坐标系来描述无人机受到的空气动力和力矩。

在分析无人机所受力与力矩时,主要分为了三个部分。

(1)重力

无人机受到的重力是一个惯性矢量,由于假设质量和重力加速度不变,因此大小恒定,由于重力作用于无人机的质心,因此不会产生力矩。

(2)推力

本文所研究的无人机的推力由电机驱动螺旋桨转动获得,由于电机数据无法从制造商处获得,因此利用商业软件MotorCalc[15]获取数据对推进系统进行建模。选择具有零空速的静态飞行条件,模拟油门输入从0 逐步增加到1,步长为0.1时,无人机受到的推力。利用Matlab对这些数据进行三次多项式插值处理,获得无人机受到的推力T与油门输入δT的关系。

(3)空气动力

本文研究的无人机的主要操纵面有升降舵、副翼和方向舵,操纵面主要通过影响空气动力来控制无人机的飞行状态。设总空气动力沿气流坐标系各轴的分量分别为XA、YA、ZA,总空气动力矩沿机体坐标系各轴的分量分别为、MA、NA。通常用D、L、Y分别表示阻力、升力和侧力,于是有D=XA,L=-ZA,Y=YA。设ρ为空气密度(取ρ=1.225kg/m3),V为空速,SW为机翼参考面积,b为机翼展长,c为机翼平均几何弦长,q为动压分别为滚转、俯仰、偏航角速度,δe、δr、δa分别为升降舵、方向舵、副翼偏转角,则有:

(1)气流坐标系的下空气动力

升力:

阻力:

侧力:

(2)机体坐标系下的空气动力矩

滚转力矩:

俯仰力矩:

偏航力矩:

将这三部分整合到一起,结合无人机的运动学与动力学方程,即可根据每一时刻无人机的状态矢量x=(u,v,w,φ,θ,ψ,p,q,r,xg,yg,h)T和 控 制 输 入 矢 量u=(δT,δe,δr,δa)T得知任何时刻无人机的运动状态,仿真模型示意图如图2所示。

图2 无人机仿真模型Fig.2 Simulation model of UAV

2 着陆轨迹跟踪控制方法

2.1 无人机着陆轨迹设计

由于固定翼无人机一般有着固定的航迹切换点,在切换时对速度和姿态也有着一定的要求,所以进近段的着陆轨迹无论是形式还是参数都较为固定,适合离线规划[17]。本文在设计无人机的进近段着陆轨迹时,主要考虑了如图3所示的4个阶段,即定高、下滑、拉平及滑跑。

图3 着陆过程示意图Fig.3 Diagram of landing process

根据无人机的有关参数,本文设计的着陆轨迹定高飞行的高度H1为15m,进场速度Venter为15m/s,下滑段下滑角γ为5°,拉平段选择指数拉平,其中拉平时间常数τ为2.6970s。无人机接地后进入滑跑阶段,这一阶段只需要调整偏航角使无人机能对准跑道中心即可,不需要进行轨迹规划,本文不对这一阶段进行控制和研究。根据上述内容,为Ultra Stick 25E无人机设计的着陆轨迹如图4所示。

图4 着陆轨迹Fig.4 Landing trajectory

2.2 PID轨迹跟踪控制器

由于本文主要研究纵向着陆的轨迹跟踪控制,所以假设固定翼无人机横侧向所受的力与力矩始终为0,滚转角、偏航角、滚转角速度、偏航角速度、横侧向的速度和位移也始终保持0,在设计PID 轨迹跟踪控制器时,也只考虑了纵向。

轨迹控制(外环)是建立在姿态控制(内环)基础上的,在控制高度时,首先要对俯仰角进行控制,然后在此基础上设计纵向下降速度的控制器,在最外环设计高度的跟踪控制器,高度控制原理如图5 所示。在控制纵程时也是同理,先设计了速度的控制器,在外环设计纵程跟踪控制器(见图6)。

2.3 深度强化学习轨迹跟踪控制方法

在强化学习中,通常将可以通过学习来自动获取有价值的信息的机器称作智能体,应具备必要的计算能力。强化学习的基本原理如图7 所示,智能体在完成某一项任务时,首先要通过产生一个动作at来与环境进行交互,在动作at和环境的共同作用下,智能体会产生新的状态st+1,环境会给出一个同步的回报rt+1,智能体根据新的状态st+1产生新的动作at+1,继续与环境交互。按照这种方式不断循环下去,在智能体和环境不断交互的过程中(见图8)会产生大量的数据,强化学习算法,利用这些数据修改自身产生动作的策略,再与环境交互,进而产生大量新的数据,并利用新的数据进一步学习以改善自身的动作策略。经过多次的迭代和学习后,智能体最后就可以学到能完成期望的任务所对应的最优的动作策略。

图5 高度控制框图Fig.5 Block diagram of height control

图6 纵程控制框图Fig.6 Block diagram of longitudinal length control

图7 强化学习基本框架图Fig.7 Basic framework of reinforcement learning

图8 智能体与环境的交互过程示意图Fig.8 Schematic diagram of the interaction process between the agent and the environment

根据动作输出连续还是离散,可以将强化学习算法分为值函数方法和策略梯度方法。采用值函数近似的方法,需要将输出的动作进行离散化,但对固定翼无人机输出的舵偏和油门指令进行离散会产生很大的动作空间,很难保证训练结果一定收敛。一方面会导致输出的舵偏和油门指令不够准确,另一方面过于离散的控制指令也不符合无人机的机械特性。同时,由于强化学习具有较强的决策能力,但对感知问题束手无策,而深度学习具有较强的感知能力,但是缺乏一定的决策能力。将深度学习的感知能力和强化学习的决策能力相结合,令二者优势互补,可以直接从高维原始数据学习控制策略。因此针对固定翼无人机的着陆轨迹跟踪控制问题时,本文设计了基于深度确定性策略梯度算法(Deep Deterministic Policy Gradient,DDPG[18])的无人机着陆轨迹跟踪控制器,既确保了无人机输出的控制指令的连续性,也便于对高维连续数据的处理。

DDPG 是一种基于Actor-Critic 框架的算法,可以用于解决连续动作空间上的深度强化学习问题,基本框架如图9所示。单独采用Critic网络低方差,但基于贪婪策略无法处理连续的动作域,单独使用Actor 网络通过参数化可以处理连续动作域,但方差很高。Actor-Critic 结合两者优点,使用参数化的Actor 来根据当前状态产生动作,并能处理连续动作域,使用Critic 的低方差的值函数来评估Actor产生的动作,产生一个更好的梯度估计值,改善局部优化的问题。

图9 DDPG原理框图Fig.9 Block diagram of DDPG algorithm

DDPG 算 法 中 共 有 4 种 网 络 :(1)当 前 Actor 网 络μ(s;θμ);(2)当前 Critic 网络Q(s,a;θQ);(3)目标 Actor 网络μ(s;θμ');(4)目标 Critic 网络Q(s,a;θQ')。其中,Actor 网络以状态为输入,动作为输出;Critic 网络以状态和动作为输入,Q值为输出。在训练完一组最小批量的数据之后,更新当前网络的参数,然后再通过软更新算法更新目标网络的参数。目标网络参数变化小,算法更为稳定,训练易于收敛。

对无人机着陆轨迹跟踪控制器进行训练的过程如图10所示,主要分为以下几个步骤:(1)初始化Actor和Critic当前网络的参数:θμ和θQ;(2)将当前网络的参数拷给对应的目标网络:θμ'←θμ,θQ'←θQ;(3)初始化经验缓存。

图10 训练过程原理图Fig.10 Schematic diagram of the training process

对于每个回合:

(1)初始化Uhlenbeck-Ornstein(UO)随机过程;

(2)获得无人机初始状态s1;

(3)重复以下过程直至到达最大步长:

(a)Actor 网络根据当前策略选择一个动作μ(st),引入UO 随机过程产生的噪声Nt,下达指令at=μ(st|θμ)+Nt给无人机模型;

(b)无人机执行这一指令,返回奖励rt和新的状态st+1;

(c)将状态转移信息(st,at,rt,st+1)存入经验缓存,作为训练当前网络的数据集;

(d)从经验缓存中,随机采样N个数据,作为当前Actor网络和当前Critic网络的训练数据,用(si,ai,ri,si+1)表示单个状态转移数据;

(e)通过最小化Critic网络的损失函数

更新目标Critic网络(采用Adam优化器更新θQ)。

(f)根据Actor网络的策略梯度

更新当前Actor网络(采用Adam优化器更新θμ)。

(g)更新目标网络

式中:0 <τ< 1。

在训练无人机的着陆轨迹跟踪控制器时,本文采用的状态为s=[u,w,θ,q,Xg,h]。由于无人机在着陆阶段主要控制的是高度的变化,横向速度基本恒定,因此油门仍由PID控制器控制,而升降舵舵偏作为训练的动作,即a=[δe]。利用训练好的智能体控制无人机进行着陆轨迹跟踪的示意图如图11所示。

图11 深度强化学习控制器原理框图Fig.11 Block diagram of controller based on DRL

3 仿真试验与分析

3.1 PID轨迹跟踪控制

将设计的着陆轨迹中高度和纵程随时间的变化数据,作为无人机的高度指令输入,初始条件为φ=0,θ=0,ψ=0,u= 15m/s,v= 0,w= 0,p= 0,q= 0,r= 0,xg= 0,yg= 0,h=15m,轨迹跟踪仿真结果如图12所示。

在利用PID 控制器跟踪着陆轨迹的过程中,高度的最大误差为0.4361m。可见所设计的PID 轨迹跟踪控制器在控制过程中各状态量较为平稳,且能够以较小的误差对预先设计好的着陆轨迹进行跟踪,效果良好。

3.2 深度强化学习轨迹跟踪控制

在训练时,首先初始化网络参数和经验缓存,令无人机的初始状态为s0=(15,0,0,0,0,15),也就是在离地15m 的空中以15m/s 的速度平飞。然后对Actor 网络选择动作添加一个方差为5的随机噪声,方差随训练次数增多逐渐减少。将产生的动作输入无人机模型,返回新的状态和回报。这里的回报函数设置为:

图12 PID轨迹跟踪仿真结果Fig.12 Results of trajectory tracking simulation using PID

将数据存入经验缓存中,从经验缓存随机采样一组数据进行网络的训练,训练时状态和动作都进行了归一化处理,并在纵程达到阈值或达到最大步长MAX_EP_STEPD时停止这一回合,计算当前回合的总的代价。重复上述过程,直到达到设置的最大训练回合数MAX_EPISODES。以下为训练20000个回合中回报函数最大的网络控制无人机着陆轨迹的仿真结果,图13为在DDPG轨迹跟踪控制器控制下的无人机着陆轨迹跟踪结果。

可以观察到利用DDPG算法训练出的智能体可以控制无人机对预先设计好的着陆轨迹进行跟踪,在控制过程中各状态量较为平稳,高度控制的最大误差为0.2491m。

3.3 仿真结果分析

与传统PID 控制器高度误差最大达0.4361m 相比,DDPG 控制方法最大高度误差仅0.2491m,控制精度优于PID 控制方法。但由于DDPG 的Actor 网络输出与前一刻的动作无关,所以输出的动作连续性较差,导致中间的状态量波动较大。与PID 控制器的效果对比如图14 所示。

图13 DDPG轨迹跟踪仿真结果Fig.13 Results of trajectory tracking simulation based on DDPG

图14 DDPG与PID控制结果对比Fig.14 Comparison diagram of DDPG and PID control

仿真试验结果表明,本文设计的基于深度强化学习方法的无人机着陆轨迹跟踪控制器不仅免去了手动调整参数的繁琐过程,而且在控制精度上要优于传统PID控制方法,具有研究价值。

4 结论

针对固定翼无人机着陆轨迹跟踪控制问题,本文对Ultra Stick 25E 小型固定翼无人机进行了适当的简化与运动假设,对该型无人机在不同坐标系下进行受力与力矩分析,结合无人机的运动学与动力学方程,搭建了该无人机的仿真模型。同时,根据所建模型的特性,为其离线设计了可以保证其安全着陆的着陆轨迹。本文采用深度强化学习的思想,设计了合理的奖励函数和控制方式,通过大量的训练得到了深度强化学习轨迹跟踪控制器,实现了对固定翼无人机着陆轨迹的一体化跟踪控制。为了检测其控制效果,本文同时利用PID控制方法实现了对固定翼无人机着陆轨迹的跟踪控制。仿真试验结果表明,深度强化学习着陆轨迹跟踪控制方法具有比传统PID轨迹跟踪控制方法更高的精度。

猜你喜欢
固定翼力矩轨迹
一种制动器力矩测量系统的研制及应用
解析几何中的轨迹方程的常用求法
垂直起降固定翼无人机串联混电系统优化设计
轨迹
轨迹
一种新型固定翼无人机的研制
“V”系列固定翼无人机
发动机阻力矩计算和起动机介绍
基于在线轨迹迭代的自适应再入制导
弹性负载力矩下舵偏转角度的测量方法