一种基于Q-Learning算法和神经网络的平流层飞艇控制方法转让专利

申请号 : CN201611252157.9

文献号 : CN106483852B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 聂春雨

申请人 : 北京天恒长鹰科技股份有限公司

摘要 :

本发明公开一种基于Q‑Learning算法和神经网络的平流层飞艇控制方法,包括建立平流层飞艇的观测模型,建立飞艇控制的MDP模型,根据Q‑Learning算法计算并存储各种状态下的动作值函数估计,为每个动作的函数估计建立一个CMAC神经网络,设计控制方法流程。本发明有效提升了算法的学习效率,控制精度与PID控制器精度相当且控制效果更为智能,为飞艇系统建模、参数辨识和智能控制提供了有效的设计手段。

权利要求 :

1.一种基于Q-Learning算法和神经网络的平流层飞艇控制方法,包括如下步骤:步骤一、建立平流层飞艇的观测模型,其包括经过任务描述和分析,建立飞艇观测坐标系;

步骤二、建立飞艇控制的MDP模型,其包括把飞艇控制问题建模为离散的MDP,其包括用五元数组{S,A,r,P,J}来表示离散的MDP,通过对飞艇运动的分析,在真实数据的基础上,确定构成状态空间S的状态参数的范围和离散精度,选择该状态参数,其余四个参数A、r、P、J根据任务的目标进行调整;

所述的五元数组{S,A,r,P,J}中,S为根据飞艇参数划分而成的状态空间,A为浮空器的可用控制指令组成的动作空间,r为对应状态和行为的回报函数,P为状态之间的转移概率,J为控制决策优化的目标函数;

所述离散的MDP的特性为:

p(st+1=sj|st=si,at=ak,st-1,at-1,…,s0,a0) =p(st+1=sj|st=si,at=ak) =pij(ak)                    (1)其中pij(ak)称为在si状态,采取ak动作,转移到sj状态的概率;

对于根据飞艇参数划分而成的状态空间S,其状态参数的确定方法包括:飞艇和目标的相对位置用(lr ψr)来描述,根据几何关系有:其中,lr为目标到飞艇的相对距离,ψr为飞艇航向偏离目标的角度;

定义控制指令执行的单位时间为控制步长Tstep,ΔLT为飞艇在TΔψ时间内垂直初速度方向的位移,ΔLH为沿初速度方向的位移,飞艇在TΔψ时间内垂直初速度方向的位移:ΔLT=R(1-cosΔψr)               (4)ΔLH=RsinΔΨr                   (5)飞艇航向偏离目标的角度ψr的范围为[-π,+π],

控制步长Tstep必须足够小,以便飞艇在相邻的离散航向角间实现状态转移,因此有Tstep≤T△ψ,取Tstep≈T△ψ,在一个控制步长Tstep内,飞艇垂直初速度方向上的位移ΔLT远小于飞艇沿初速度方向上的位移ΔLH,lr的离散精度Δlr应当足够小以分辨ΔLT,因此有Δlr≤ΔLT,取Δlr≈ΔLT;

目标到飞艇的相对距离lr应当足够大以保证飞艇的自由运动,考虑到飞艇常见的原地掉头、八字的机动动作,有lr≥4R,取lr≈4R,xd,yd为目标点位置的横纵坐标,xa、ya为飞艇位置的横纵坐标,ψa为航向角,ψt为飞艇航向角与飞艇航向偏离目标角度的差值,R为飞艇的转弯半径;

步骤三、根据Q-Learning算法计算并存储各种状态下的动作值函数估计;

状态s时的a动作值函数估计设为Q(s,a),有:

Q(s,a)满足如下的Bellman方程:

其中p(st,at,st+1)为在状态st下,采取at动作,转移到st+1状态的概率;r(st,at,st+1)为动作at和状态st转移到st+1的回报值;

最优动作估计 和最优策略π*如下:

利用直接梯度下降的方式对Qπ(s,a)进行估计,迭代公式为:其中α∈(0,1)为学习率,et为适合度参数,反映状态st的访问频繁程度:步骤四、为每个动作的函数估计建立一个CAC神经网络,其用于对各种状态下的不同动作进行函数估计和权值更新;

步骤五、设计控制方法流程,其包括利用控制动作的实时执行情况对控制器进行训练,通过学习持续改善控制效果,采用基于Boltzmann分布的随机动作选择方法,推导出动作选择策略,设计完成实际任务中的整个控制过程。

2.如权利要求1所述的方法,其特征在于,在步骤一中所述的飞艇观测坐标系中,地面惯性坐标系为Ogxgygzg,气流坐标系为Oaxayaza,艇体坐标系为Obxbybzb,Oa和Ob在飞艇的体心;

ψ为偏航角,ψa为航向角,β为侧滑角,xa的方向在风速为零时与飞行速度v的方向相同。

3.如权利要求1所述的方法,其特征在于,步骤四所述的为每个动作的函数估计建立一个CMAC神经网络包括:St=Si时动作k的函数估计和权值更新公式为其中,S为m个离散的状态空间,W为n个内存地址中储存的权值。

4.如权利要求1所述的方法,其特征在于,在步骤五中所述设计控制方法流程包括:采用基于Boltzmann分布的随机动作选择方法,设可用动作集为A={ak},(k=1,2,…),p(a|s)表示在状态s下选择动作a的概率,则动作选择策略π表示为:其中Ttemp为探索常数,通过逐渐地降低Ttemp,保证初始情况下较高的探索率,并最终趋于贪心策略。

说明书 :

一种基于Q-Learning算法和神经网络的平流层飞艇控制方法

技术领域

[0001] 本发明属自动控制领域,尤其涉及一种基于Q-Learning算法和神经网络的平流层飞艇控制方法,尤其适用于平流层飞艇的建模与控制。

背景技术

[0002] 与固定翼飞机、直升机和旋翼机相比,飞艇具有飞行速度低、姿态稳定、安全性高等特点。近年来,重载飞艇、平流层飞艇等得到了世界的广泛研究,而控制一直是飞艇研究的重要问题。
[0003] 飞艇的体密度小,对操纵机构响应慢,所受惯性力不可忽略;飞艇动力学特性相对复杂,艇体的柔性、弹性以及外界的随机扰动等,使得飞艇控制成为具有不确定性的问题。常见的飞艇控制方法包括PID控制、反步法、动态逆和滑模控制等。其中,PID控制器的应用最为广泛,但是PID控制器需要对控制参数进行反复试凑调整,在模型参数和环境发生变化时,常常需要对控制参数重新进行调整。反步法、动态逆和滑模控制方法能够保证控制器在非线性系统中的具有鲁棒性和全局的稳定性,但是其系统建模和参数辨识等工作依然较为复杂。
[0004] 作为一种重要的非监督学习算法,增强学习通过“动作和回报”的机制,能够在缺少动力学模型的情况下实现控制器的自适应。已有的研究表明,将增强学习算法用于飞艇模型参数辨识,能够降低模型仿真的误差;基于Q-Learning算法的高度控制器,能够在数分钟内在线学习并实现飞艇高度方向上的控制,并获得与PID控制器精度相当的控制效果。但是,在实际控制问题中,系统自由度多,状态空间维数巨大,算法学习效率不高,造成学习时间过长进而陷入所谓的“维数灾难”。

发明内容

[0005] 本发明利用随机过程、神经网络等理论对值函数进行泛化。采用小脑模型关节控制器(CMAC)-神经网络在局部邻域内进行泛化,收敛速度快,适合对飞艇的实际运动进行拟合。
[0006] 本发明的目的是通过以下技术方案实现的。
[0007] 一种基于Q-Learning算法和神经网络的平流层飞艇控制方法,包括如下步骤:
[0008] 步骤一、建立平流层飞艇的观测模型,其包括经过任务描述和分析,建立飞艇观测坐标系;
[0009] 步骤二、建立飞艇控制的MDP模型,其包括把飞艇控制问题建模为离散的MDP,其包括用五元数组{S,A,r,P,J}来表示离散的MDP,通过对飞艇运动的分析,在真实数据的基础上,确定构成状态空间S的状态参数的范围和离散精度,选择该状态参数,其余四个参数A、r、P、J根据任务的目标进行调整;
[0010] 步骤三、根据Q-Learning算法计算并存储各种状态下的动作值函数估计;
[0011] 步骤四、为每个动作的函数估计建立一个CMAC神经网络,其用于对各种状态下的不同动作进行函数估计和权值更新;
[0012] 步骤五、设计控制方法流程,其包括利用控制动作的实时执行情况对控制器进行训练,通过学习持续改善控制效果,采用基于Boltzmann分布的随机动作选择方法,推导出动作选择策略,设计完成实际任务中的整个控制过程。
[0013] 优选地,在步骤一中所述的飞艇观测坐标系中,地面惯性坐标系为Ogxgygzg,气流坐标系为Oaxayaza,艇体坐标系为Obxbybzb,Oa和Ob在飞艇的体心;ψ为偏航角,ψa为航向角,β为侧滑角,xa的方向在风速为零时与飞行速度v的方向相同。
[0014] 优选地,在步骤二中所述的五元数组{S,A,r,P,J}中,S为根据飞艇参数划分而成的状态空间,A为浮空器的可用控制指令组成的动作空间,r为对应状态和行为的回报函数,P为状态之间的转移概率,J为控制决策优化的目标函数;
[0015] 优选地,在步骤二中所述离散的MDP的特性为:
[0016]
[0017]
[0018] 其中pij(ak)称为在si状态,采取ak动作,转移到sj状态的概率。
[0019] 优选地,对于根据飞艇参数划分而成的状态空间S,其状态参数的确定方法包括:
[0020] 飞艇和目标的相对位置用(lrψr)来描述,根据几何关系有:
[0021]
[0022]
[0023] 其中,lr为目标到飞艇的相对距离,ψr为飞艇航向偏离目标的角度;
[0024] 定义控制指令执行的单位时间为控制步长Tstep,ΔLT为飞艇在TΔψ时间内垂直初速度方向的位移,ΔLH为沿初速度方向的位移,飞艇在TΔψ时间内垂直初速度方向的位移:
[0025] ΔLT=R(1-cosΔψr)       (4)
[0026] ΔLH=RsinΔΨr         (5)
[0027] 飞艇航向偏离目标的角度ψr的范围为[-π,+π],
[0028] 控制步长Tstep必须足够小,以便飞艇在相邻的离散航向角间实现状态转移,因此有Tstep≤T△ψ,取Tstep≈T△ψ,
[0029] 在一个控制步长Tstep内,飞艇垂直初速度方向上的位移ΔLT远小于飞艇沿初速度方向上的位移ΔLH,lr的离散精度Δlr应当足够小以分辨ΔLT,因此有Δlr≤ΔLT,取Δlr≈ΔLT;
[0030] 目标到飞艇的相对距离lr应当足够大以保证飞艇的自由运动,考虑到飞艇常见的原地掉头、八字等机动动作,有lr≥4R,取lr≈4R。
[0031] 优选地,在步骤三中,状态s时的a动作值函数估计设为Q(s,a),有:
[0032]
[0033] Q(s,a)满足如下的Bellman方程:
[0034]
[0035] 其中p(st,at,st+1)为在状态st下,采取at动作,转移到st+1状态的概率;r(st,at,st+1)为动作at和状态st转移到st+1的回报值;
[0036] 最优动作估计 和最优策略π*如下:
[0037]
[0038]
[0039] 利用直接梯度下降的方式对Qπ(s,a)进行估计,迭代公式为:
[0040]
[0041] 其中α∈(0,1)为学习率,et为适合度参数,反映状态st的访问频繁程度:
[0042]
[0043] 优选地,步骤四所述的为每个动作的函数估计建立一个CMAC神经网络包括:St=Si时动作k的函数估计和权值更新公式为
[0044]
[0045]
[0046] 其中,S为m个离散的状态空间,W为n个内存地址中储存的权值。
[0047] 优选地,在步骤五中所述设计控制方法流程包括:采用基于Boltzmann分布的随机动作选择方法,设可用动作集为A={ak},(k=1,2,…),p(a|s)表示在状态s下选择动作a的概率,则动作选择策略π表示为:
[0048]
[0049] 其中Ttemp为探索常数,通过逐渐地降低Ttemp,保证初始情况下较高的探索率,并最终趋于贪心策略。
[0050] 本发明通过分析飞艇的运动特点,对飞艇运动状态空间进行了简化,设计了自适应建立飞艇控制MDP模型的方法;利用Q-Learning算法设计飞艇的航向控制器,直接控制执行机构进行在线学习,同时利用CMAC神经网络对动作值函数进行泛化。有效提升了算法的学习效率,学习时间稳定在3小时左右即可完成训练,控制精度与PID控制器精度相当且控制效果更为智能,为飞艇系统建模、参数辨识和智能控制提供了有效的设计手段。
[0051] 与先前技术相比,本发明可通过分析飞艇的运动特点,对飞艇运动状态空间进行了简化,设计了自适应建立飞艇控制MDP模型的方法;利用Q-Learning算法设计飞艇的航向控制器,直接控制执行机构进行在线学习,同时利用CMAC神经网络对动作值函数进行泛化。这一控制方法能够满足常见飞艇控制任务的需求。控制方案在真实运动数据的基础上建立飞艇控制的MDP模型,具有自适应性,飞艇模型变化后可以自动调整;飞艇控制模型得到合理简化,并利用神经网络对学习成果进行泛化,控制器训练速度较快,约3小时;控制器不需要获取飞艇的动力学模型参数,能够达到与PID控制器精度相当且更为智能的控制效果。本发明对于无人船、水下机器人的控制也具有一定的参考意义。

附图说明

[0052] 通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
[0053] 图1为:根据本发明实施方式的飞艇观测坐标示意图;
[0054] 图2为:根据本发明实施方式的飞艇和目标相对位置坐标示意图;
[0055] 图3为:根据本发明实施方式的飞艇圆弧形航迹图;
[0056] 图4为:根据本发明实施方式的状态空间S的离散参数表示意图;
[0057] 图5为:根据本发明实施方式的CMAC神经网络的典型结构图;
[0058] 图6为:根据本发明实施方式的控制方法流程图。
[0059] 图中符号说明如下:
[0060] Ogxgygzg为地面惯性坐标系;
[0061] Oaxayaza为气流坐标系,Oa位于飞艇的体心;
[0062] Obxbybzb为艇体坐标系,Ob位于飞艇的体心;
[0063] ψ为偏航角;
[0064] ψa为航向角;
[0065] β为侧滑角;
[0066] v为飞行速度的方向;
[0067] lr为目标到飞艇的相对距离;
[0068] ψr为飞艇航向偏离目标的角度;
[0069] ψt为飞艇航向角与飞艇航向偏离目标角度的差值;
[0070] xd,yd为目标点位置的横纵坐标;
[0071] xa、ya为飞艇位置的横纵坐标;
[0072] R为飞艇的转弯半径;
[0073] O为飞艇转弯的圆心位置;
[0074] Δψr为航向角的离散精度,由控制要求给出;
[0075] TΔψ为转过Δψr角度所需的时间;
[0076] ΔLT为飞艇在TΔψ时间内垂直初速度方向的位移;
[0077] ΔLH为沿初速度方向的位移;
[0078] S为m个离散的状态空间;
[0079] W为n个内存地址中储存的权值;
[0080] Q(s,a)为在状态s时的a动作值函数估计。

具体实施方式

[0081] 下面将参照附图更详细地描述本公开的示例性实施方式。虽然附图中显示了本公开的示例性实施方式,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
[0082] 本发明的一种基于Q-Learning算法和神经网络的平流层飞艇控制方法,其具体步骤如下:
[0083] 步骤一:建立平流层飞艇的观测模型
[0084] 任务描述和分析:飞艇经过放飞升空等过程后,逐渐稳定于设计高度。飞艇在纵向主要依靠升降舵、自重调节、浮力调节等装置实现高度的控制,在横航向则主要依靠螺旋桨、方向舵和矢量推力装置等实现水平位置和航向的控制。与飞机的运动相比,飞艇的滚转角较小,高度相对稳定,纵向运动和横航向运动耦合小,滚转运动对水平面运动的影响甚微。借鉴既有的处理方式,在航向运动的控制中,不关注滚转运动产生的影响。
[0085] 如图1所示,绘制飞艇观测坐标系的俯视图。设地面惯性坐标系为Ogxgygzg,气流坐标系为Oaxayaza,艇体坐标系为Obxbybzb,Oa和Ob在飞艇的体心。图1中:ψ为偏航角,ψa为航向角,β为侧滑角,xa的方向在风速为零时与飞行速度v的方向相同。
[0086] 步骤二:建立飞艇控制的MDP模型,把飞艇控制问题建模为离散的MDP
[0087] 离散MDP的表示方法:离散的MDP可以用五元数组{S,A,r,P,J}来表示,其中S为根据飞艇的位置、速度和姿态等参数划分而成的状态空间,A为浮空器的可用控制指令组成的动作空间,r为对应状态和行为的回报函数,P为状态之间的转移概率,J为控制决策优化的目标函数。
[0088] 离散MDP的特性:
[0089]
[0090]
[0091] 其中pij(ak)称为在si状态,采取ak动作,转移到sj状态的概率。
[0092] 选择构成状态空间S的状态参数:本发明采取了类似圆坐标系的建模方法来确定飞艇和目标的相对位置坐标,如图2所示。其中,lr为目标到飞艇的相对距离,ψr为飞艇航向偏离目标的角度,飞艇和目标的相对位置可以用(lrψr)来描述,根据几何关系有:
[0093]
[0094]
[0095] 当采用(lrψr)坐标描述飞艇和目标的相对位置时,状态空间S的主要未知离散参数为lr、ψr的范围,lr、ψr的离散精度Δlr、Δψr以及控制指令执行的单位时间。定义控制指令执行的单位时间为控制步长Tstep。按照以下步骤进行真实运动:在飞艇的额定巡航速度下,将方向舵输入控制为最大偏角,记录飞艇飞行实时位置和姿态,直至飞艇的飞行轨迹近似为圆弧形。得到飞艇的航迹如图3所示。其中,飞艇的转弯半径为R,航向角的离散精度为Δψr,Δψr应由控制要求给出,设转过Δψr角度所需的时间为TΔψ,ΔLT为飞艇在TΔψ时间内垂直初速度方向的位移,ΔLH为沿初速度方向的位移。
[0096] 由图3中的几何关系,
[0097] ΔLT=R(1-cosΔψr)       (4)
[0098] ΔLH=RsinΔΨr         (5)
[0099] 飞艇航向偏离目标的角度ψr的范围为[-π,+π]。控制步长Tstep必须足够小,以便飞艇在相邻的离散航向角间实现状态转移,因此有Tstep≤T△ψ,在本发明中取Tstep≈T△ψ。在一个控制步长Tstep内,飞艇垂直初速度方向上的位移ΔLT远小于飞艇沿初速度方向上的位移ΔLH,lr的离散精度Δlr应当足够小以分辨ΔLT,因此有Δlr≤ΔLT,在本发明中取Δlr≈ΔLT。目标到飞艇的相对距离lr应当足够大以保证飞艇的自由运动,考虑到飞艇常见的原地掉头、八字等机动动作,有lr≥4R,在本发明中取lr≈4R。通过以上对飞艇运动的分析,飞艇控制MDP模型状态空间S的离散参数确定方法总结如图4所示。
[0100] 选择其余四个参数A、r、P、J:MDP模型五元数组的其余四个参数A、r、P、J受飞艇模型变化影响有限,可以根据任务的目标灵活调整。动作空间A由方向舵偏角构造;回报函数r由障碍、能耗的负回报值和目标的正回报值等构造;转移概率P取决于动作执行后飞艇的真实运动结果;目标函数J设为总的回报值,设π为动作选择策略,J*为最优回报值,有:
[0101]
[0102] 其中γ∈(0,1)为回报折扣因子。
[0103] 步骤三:通过Q-Learning算法计算并储存动作值函数的估计
[0104] 设Q(s,a)为在状态s时的a动作值函数估计,有:
[0105]
[0106] 根据运筹学相关理论,Q(s,a)满足如下的Bellman方程:
[0107]
[0108] 其中p(st,at,st+1)为在状态st下,采取at动作,转移到st+1状态的概率;r(st,at,st+1)为动作at和状态st转移到st+1的回报值。
[0109] 对应公式(13)的最优动作估计 和最优策略π*如下:
[0110]
[0111]
[0112] 利用直接梯度下降的方式对Qπ(s,a)进行估计,迭代公式为:
[0113]
[0114] 其中α∈(0,1)为学习率,et为适合度参数,反映状态st的访问频繁程度:
[0115]
[0116] 步骤四:为每个动作的函数估计建立一个CMAC神经网络
[0117] CMAC神经网络的典型结构如图5所示。其中S为m个离散的状态空间,W为n个内存地址中储存的权值。其真实状态映射到状态空间S中,每个离散的状态Si对应多个物理地址储存的权值W。设
[0118] Fi=[fi1,fi1,…fij…fiN]T
[0119] i=1,2,…M j=1,2,…,N
[0120] W=[w1,w2,…,wN]T       (14)
[0121] 其中fij=1或0表示状态Si对权值wj的激活状态。则输出为
[0122]
[0123] 利用直接梯度下降的方法,在状态St=Si时,权值更新公式为
[0124] Wt+1=Wt+αW(yt+1-yt)·Fi       (16)
[0125] 其中αW为权值学习因子。
[0126] 为每个动作的函数估计建立一个CMAC神经网络,结合公式(9)和公式(16),St=Si时动作k的函数估计和权值更新公式为
[0127]
[0128]
[0129] 步骤五:设计控制策略流程
[0130] 本发明采用基于Boltzmann分布的随机动作选择方法,设可用动作集为A={ak},(k=1,2,…),p(a|s)表示在状态s下选择动作a的概率,则动作选择策略π可以表示为:
[0131]
[0132] 其中Ttemp为探索常数,类似于模拟退火方法的温度系数,通过逐渐地降低Ttemp,能够保证初始情况下较高的探索率,并最终趋于贪心策略。
[0133] 根据本发明实施方式的控制方法流程如图6所示,其中虚线框内部为控制器的在线训练过程,虚线框以后为实际任务中的控制过程。
[0134] 在线训练过程包括:建立飞艇控制的MDP模型后,随机设定训练目标,基于选择策略π选择动作,执行动作并获得回报,更新Q(s,a)的输出权值W,判定是否达到终止条件,如果为否,则返回基于选择策略π选择动作,重复上述过程,如果为是,则判定是否训练完成,如果训练未完成,则更新Ttemp值,返回则返回基于选择策略π选择动作,重复上述过程,如果训练完成,则进入实际任务中的控制过程,开始输入当前目标。
[0135] 实际任务中的控制过程包括输入当前目标,基于选择策略π选择动作,执行动作并获得回报,判定是否抵达目标,如果未抵达目标则返回则返回基于选择策略π选择动作,重复上述过程,如果抵达目标则返回输入当前目标的步骤。
[0136] 以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。