黄 旭 柳嘉润 骆无意
1.北京航天自动控制研究所,北京100854 2.宇航智能控制技术国家级重点实验室,北京100854
随着现代控制理论和智能控制方法的发展,一些新的控制方法,如变结构滑模控制和模糊控制等被引入到运载火箭姿态控制中。但由于箭载计算机计算能力限制、工程化困难等问题,大多数火箭姿态控制设计还是依赖于古典控制理论中的频域设计方法[1]。工程中一般在建立运载火箭姿态动力学模型的基础上,通过不断调节自动稳定装置的传递系数、校正网络参数和分析系统相关性能的方式,完成整个飞行时段的姿态控制设计并开展仿真验证[2]。这种方法可操作性强,但设计效率依赖设计者的经验,存在设计周期长和通用性差等缺点,在工程中具有一定的局限性。
人类设计师利用频域设计方法进行火箭姿态控制系统设计的过程本质上是一个序列决策问题。而人工智能(Artificial Intelligence,AI)领域中的深度强化学习(Deep Reinforcement Learning,DRL)算法则有效实现了序列决策的过程。2016年,以DRL算法作为核心技术之一的 AlphaGo[3]智能体在围棋比赛中击败了人类顶尖职业棋手李世石,使得DRL算法被研究界普遍认可并深入研究。近几年来,DRL在机器人技术[4]、智能驾驶[5]、电子设计[6]等诸多领域得到了广泛的推广和研究。
DRL从字面意思就是深度学习和强化学习的结合。深度学习起源于人工神经网络,具有很强的特征表征能力;强化学习则受到生物能够有效适应环境的启发,以试错的机制与环境进行交互,通过最大化累积奖赏的方式来学习到最优策略。DRL有效地吸收了两者的优点,将抽象思维的表征能力和决策能力集合于一体。而工程中火箭姿态控制器参数设计规则相对明确且设计过程实际上就是一个决策过程,所以可以进行基于DRL算法进行智能体离线设计控制器参数方面的研究探索。
航天控制系统正在走向智能化,通过智能技术的赋能可以使航天装备变得更聪明[7]。如果可以成功使用智能体代替工程设计人员进行控制器参数设计,不仅可以提高设计效率、缩短设计时间,所得结果也可以给工程设计人员提供一定的参考,为人工智能新方法在航天领域的应用提供新思路。
以三通道交联较小、各通道控制器可独立设计的火箭模型为例。考虑箭体的弹性和推进剂晃动,某特征秒的箭体俯仰通道运动方程如下[2]:
(1)
(2)
Δφ=Δα+Δθ
(3)
(4)
(5)
(6)
根据式(1)~(6)选取合适的状态变量建立对应的状态空间方程:
(7)
要进行火箭姿态控制器设计首先要建立姿控系统的频域分析模型。控制策略选择工程上常用的基于“小扰动线性化”的增益预置法。本文仅考虑俯仰通道,整个姿控系统闭环回路的结构如图1所示[9]。
图1 俯仰通道姿控系统闭环回路结构图
设计参数包括静态增益系数、动态增益系数以及校正网络结构参数。借鉴传统姿态控制器离线设计过程,设计出的静态增益系数在飞行过程中一般是以插值表的形式根据时间插值得出。可选择有代表性的特征秒点,并设计这些特征点上的静态增益系数,飞行中静态增益系数按时间插值得出。而性能较好的校正网络可以使系统保留一定的裕度,并在最差的飞行环境中保持稳定。文中的校正网络分子和分母均包含3个二阶环节。见式(8)。
(8)
(9)
一共有14个待设计参数。
人类工程师在进行姿态控制器设计时,通过观察分析系统开环传递函数的bode图调节相关设计参数,不断迭代最终得出相应的
参数。调参过程可以理解为一个离散动作过程,本文选择基于值函数的深度强化学习算法:DDQN(Double Deep Q Network)[10]作为智能体训练算法。
强化学习本质上是解决一个马尔科夫决策过程(Markov Decision Process,MDP)。根据1.2节选择的待设计参数和DDQN相关特点,结合运载火箭姿态控制器设计过程建立对应的MDP模型:
M=(S,A,P,R,γ)
(10)
a)状态集S={s1,s2,s3,…}:状态空间由各个特征秒点的的各实际裕度张成:
(11)
b)动作集A={a1,a2,a3,…}。智能体在调参中对各参数在一定范围内进行增减,为了缩减智能体动作空间的维度,智能体每一步只调节一个参数值。待设计参数有14个,则智能体的动作空间中一共有28种动作。
(12)
c)状态转移概率P:在本文的研究内容中,下一个状态可以根据频域分析计算获得;
d)立即回报r:立即回报的设置是深度强化学习应用中非常关键的部分,它的设置将很大程度上影响到算法的训练效果,应用场景目标越明确,立即回报的设计越简单,训练效果越好。这里给出本文的立即回报设置:
(13)
单星号上标代表对应裕度的指标值。双星号上标代表惩罚因子,即对应实际裕度不满足指标值时,将减去一个定值以对智能体进行惩罚。5个特征秒点的设计指标值和惩罚因子一致。ωi代表各个裕度的权重。
当设计参数超界或者系统不稳定时:
rt=-1
(14)
e)折扣因子γ:用来计算累计回报,取值在[0,1]之间,取值根据实验时具体情况进行调节。本文中取0.95。
DDQN是经典深度强化学习算法DQN(Deep Q Network)[11]的改进算法,DDQN一定程度上解决了DQN中的过估计问题,提高了算法的稳定性[12]。
结合本文设计的MDP模型,给出具体智能体训练算法流程。
首先初始化记忆回放单元D和两个网络的网络参数θ和θ-,开始进行实验。每次实验智能体最多可进行1500次调参。每次调参后,频域分析得到的裕度值作为状态st经过式(16)预处理,得到φt,将其作为当前值网络的输入,输出各动作的状态行为值,使用ε-greedy算法选择动作at并执行,得到下一个状态st+1和立即回报rt+1,将(φt,at,rt+1,φt+1)存储到记忆回放单元中。每进行一定次数的调参,在记忆回放单元中采集一定数量的样本,按目标函数式(15)进行梯度下降,求解当前值网络参数,Qπ代表当前策略下的对应状态和动作的值函数,并每隔一定时间将当前值网络参数赋值给目标值网络,如此不断迭代完成智能体训练。当φj+1为本次实验最终状态时,yj的值为rj+1。
图2 智能体训练算法流程图
(15)
对状态预处理形式如式(16)所示。s*代表对应裕度的指标。
(16)
综合1、2节,进行智能体的训练和前向参数设计。
根据前面章节的内容设置相关网络参数和训练超参数开始进行智能体的训练。当前值网络和目标值网络的结构一致,均使用单隐层BP神经网络,激活函数选取tanh。单次实验中,记忆回放单元存储数量设置为300,智能体每进行100次调参,在记忆回放单元中随机抽取50个样本,按式(15)进行梯度下降以更新当前值网络参数。每进行200次调参,目标值网络的网络参数对当前值网络参数进行一次拷贝,以减小两个网络的相关性,从而提升网络训练效率。设置ε-greedy算法的ε值为0.85以提高智能体的探索能力,即0.85的概率选择状态行为值最大的那个动作执行,否则随机选取一个动作执行。
当网络在一定程度上收敛时结束智能体训练。训练累计误差结果如图3所示。训练开始时误差较大,累计变化的斜率很大,随着训练次数的增多,误差减小,斜率放缓。
图3 累计误差变化随训练次数变化曲线
每次实验的累计回报随训练次数的变化曲线如图4所示,经过一定量的实验后单次实验的累计回报能相对稳定在20左右。由于智能体的探索以及其他问题,累计回报存在少量波动,但基本保持一个上升并收敛的趋势。
训练过程的波动有多方面的原因:1)基于值函数方法的强化学习算法存在一定的不稳定性;2)对记忆库中样本进行随机采样训练网络可能会破坏较好的网络参数,而且智能体训练过程加入探索一定程度上会影响收敛;3)由于各个裕度之间存在的复杂的交联也会影响训练;4)在训练中超参数和神经网络结构的设置完全依赖经验,也是机器学习中一直困扰着研究者们的问题。
由于火箭姿态控制器参数设计没有严格意义上的最优参数集合,所以理论上控制器的可行参数集合有无穷个。训练的目的就是让智能体模拟人类设计师的设计过程,在不断调整参数分析系统性能的过程中,逐渐变得“老道”,从而成为一位优秀的控制器“设计师”。
图4 单次实验累计回报随实验次数变化曲线
为了验证智能体的调参能力,在一定范围内随机初始化控制器参数,使用训练好的智能体调节参数,观察调参过程中姿态控制系统综合性能即单步立即回报值的变化来评价智能体。
在前向测试(图5)中,对姿态控制系统进行频域分析后的各个实际裕度值进行预处理后作为状态,输入到训练好的目标值网络,目标值网络进行前向计算得到当前状态对应各个动作的状态行为值函数,使用ε-greedy算法选择一个动作执行,不断迭代直到本次前向测试结束,ε-greedy算法的ε值设置为0.95以作为一个调参干扰加入智能体调参过程。
图5 智能体前向测试流程图
取一次前向测试实验的单步立即回报值变化曲线如图6所示。智能体经过不断地调节参数使得单步立即回报增大即使姿态控制系统的综合性能增强,在经过一系列的调参动作后找到了76个可行控制器参数组。可见其拥有一定的调参能力。
图6 单次前向测试中立即回报随时间步变化曲线
选取本次前向测试中回报最大的一组控制器参数组,绘制5个特征秒点的姿态控制系统bode图(图7~8)。得到的系统各裕度均符合设计指标并有一定的冗余。设计得到的控制器幅频特性(图9)呈现典型的双漏斗结构。
图7 姿控系统开环幅频特性曲线
图8 姿控系统开环相频特性曲线
图9 校正网络幅频特性曲线
智能体的训练和前向测试的结果表明,该使用智能体代替人工设计姿态控制器参数的思路具有一定的研究价值和潜力。当然也需要在改进强化学习算法、深化神经网络、设置更加合理的MDP模型等方面继续努力。
强化学习的优势在于无过多的先验知识的智能体能在与环境的不断交互中学习到一些人工设计的常用经验,甚至可能发现一些工程师未总结出的经验。依托当前计算机算力等技术的发展,相信在不久的将来,进行工程设计的智能体也能拥有如Alpha Go和Alpha Zero[13]等智能体一样强大的决策能力,帮助甚至代替人类工程师进行一些复杂的工程设计。