张正义 赵学艳
最优控制的目标是找到最优的控制策略,使得被控系统达到指定目标状态的同时,使系统预定义的性能指标为最小.最优控制问题主要有两个研究方向,分别是最优调节问题和最优追踪问题.对于线性系统的二次调节(Linear Quadratic Regulator,LQR)问题,传统方法通常是通过离线求解其对应的代数里卡蒂(Riccati)方程,这种方法需要完全已知系统参数的全部动力学信息[1-2].但是,在实际情况下,系统动力学信息完全已知的条件难以满足,传统方法不可能得到解析解.所以,通常需要在系统参数未知的情况下在线求解最优控制器,因此利用自适应动态规划(Adaptive Dynamic Programming,ADP)和神经网络方法求解最优控制在近些年备受关注.自适应动态规划[3]是在系统参数未知或系统参数不确定的情况下设计系统的控制器,不需要提前知道系统动力学信息,充分利用系统的状态信息在线求解最优控制.近些年来,ADP方法在离散系统和连续系统中有了广泛的应用.文献[4]针对连续时间线性系统提出了自适应动态规划方法,在系统参数矩阵部分未知的情况下得到最优控制器;文献[5]进一步针对连续时间线性系统提出了一种自适应策略迭代方法,在系统参数完全未知的情况下得到最优控制器;文献[6]针对线性离散时间系统的追踪问题使用强化Q学习方法,在系统参数完全未知的情况下求解最优控制器.
随机系统控制理论由于其自身的学术难度以及广泛的应用领域,已成为控制理论的重要组成部分与研究热点[7-8],尤其是随机系统的最优控制问题受到越来越多的关注.与确定性问题相似,随机系统的线性二次最优控制问题(Stochastic Linear Quadratic,SLQ)的可解性等价于随机代数Riccati方程的可解性,文献[9]研究了线性终端状态约束下不定随机线性二次最优控制问题,文献[10]研究了具有乘性噪声的随机离散系统的带约束线性二次最优控制问题,但是文献[9-10]需要完全已知的系统参数信息.因此,文献[11]针对随机连续时间系统在系统参数部分未知的情况下提出了策略迭代方法求解随机系统的最优控制问题,文献[12]针对系统参数完全未知的随机线性离散系统提出了使用自适应动态规划的方法求解最优控制问题,文献[13]针对模型自由的随机线性离散系统提出了Q学习算法求解最优控制问题.相较于最优调节问题,最优追踪问题在现实中往往有更多的应用,例如文献[14]针对参数未知的随机离散系统提出了基于神经网络的自适应动态规划方法求解最优追踪控制问题.求解系统的最优控制问题,大多需要系统的完全动力学信息,使用Q学习算法的优点是不用直接求解复杂的随机代数方程,而是充分利用系统的状态信息在线求得系统的最优控制.受到文献[13-14]的启发,本文针对离散时间系统的随机线性二次最优追踪控制问题,提出了解决随机线性二次最优追踪控制的Q学习算法,给出算法的具体实现步骤,使用Q学习算法在线解决追踪控制问题而无需系统模型参数,最后给出仿真实例,表明系统输出可以有效地追踪参考轨迹.
本文的结构安排如下:第一节对问题进行描述,定义参考信号系统,将原随机系统和参考信号系统组成增广系统,把最优追踪问题转化为最优调节问题的形式;第二节对随机系统进行了问题转变,将随机系统转化为确定性系统;第三节推导了Q函数;第四节给出算法的具体实现步骤;第五节给出仿真实例;第六节对全文进行了总结.
给定随机离散时间线性系统为
(1)
首先,对于追踪问题,需要定义追踪问题的参考信号.假设命令生成器生成的随机线性二次最优追踪控制的参考轨迹模型为
rk+1=Frk,
(2)
式中:rk∈Rq表示参考轨迹系统的输出变量;F∈Rq×q为常数矩阵.为了生成更为广泛的参考轨迹,假设F不必是赫尔维茨的.
对于追踪控制问题,需要重点关注系统的输出与需要追踪的参考信号输出之间的误差,因此定义系统的追踪误差为
ek=yk-rk,
(3)
式中rk为参考轨迹模型(2)的输出变量.
随机线性最优追踪问题的目标是设计出最优的控制器,不但能够确保系统的输出变量yk可以稳定地追踪上给定的参考信号rk,并且最小化预定义的性能指标函数.定义性能指标函数为
(4)
基于随机系统模型(1)和参考轨迹模型(2),建立一个由原随机系统和参考轨迹系统组成的增广系统,把最优追踪问题转化为最优调节问题的形式.
因此,随机线性离散时间系统(1)和参考轨迹系统(2)构建的增广系统如下:
(5)
显然,只有当F为赫尔维茨(Hurwitz)时才可以使用性能指标函数(4),即要求参考轨迹系统是渐近稳定的,如果参考轨迹随着时间的推迟不趋于零,那么性能指标函数(4)将是无界的.但是在实际应用中并不总是追踪渐近稳定的信号,而通常需要追踪正弦信号等其他复杂信号.为了放宽F为赫尔维茨的限制,在性能指标函数(4)中引入折扣系数γ,可以使得F为非赫尔维茨,因此基于(4)重新定义带折扣系数的性能指标函数为
(6)
式中:0<γ≤1是折扣系数,注意到只有当F为赫尔维茨时,此时参考轨迹为渐近稳定的,γ可以取值为1,性能指标函数由式(6)化简为式(4).
引入折扣系数γ后,基于增广系统(5)和性能指标函数(6),性能指标函数可进一步重写为
(7)
式中:Q1=[G-I]TQ[G-I]∈R(n+q)×(n+q).
本文的目标是找到最优控制增益矩阵K*使得性能指标函数(7)达到最小,同时能够追踪参考信号.经过增广原系统,最优追踪问题已经转化为最优调节问题的形式,定义状态反馈线性控制器为
uk=KXk,
(8)
式中:K∈Rm×(n+q),K表示系统的控制增益矩阵.
同时定义性能指标函数的最优值为
(9)
定义2[10]如果-∞ 引理1如果存在均方稳定的容许控制uk=KXk,那么随机线性二次最优追踪控制是适定的,并且值函数可重写为 (10) 式中:P∈R(n+q)×(n+q),P为正定矩阵,且为式(11)增广随机代数方程的解. P=γ(A1+B1K)TP(A1+B1K)+ γ(C1+D1K)TP(C1+D1K)+Q1+KTRK, (11) 式中: 证明由式(7)和式(8)有: 拆开化简得: 代入式(10)可得: 代入增广系统(5),替换Xk+1化简后得式(11). 对于随机线性二次最优追踪控制问题:随机线性二次最优追踪控制问题等价于求解其对应的增广随机代数Riccati方程的解,并且需要系统模型参数的全部信息. 目前,确定性系统的最优追踪控制问题有着广泛的研究并且已经得到了很好的解决,随机系统因为随机参数的存在使得系统输出轨迹存在不确定性,且性能指标函数带有期望,在线算法无法实现期望功能.因此本节通过系统转变将随机系统转变为确定性系统,进而将随机系统的最优追踪控制问题转化为确定性的系统最优追踪控制问题. (12) 代入增广系统式(5),化简得: (C1+D1K)Tk(C1+D1K)T, (13) 相应地,性能指标函数式(7)重写为 (14) 注2经系统转变后,随机系统转变为确定性系统.由式(13)可知,系统转变后随机参数wk对系统的影响包含在系统状态中,这为下文Q学习算法的推导和应用做出了准备. 为了求解随机系统最优追踪问题而无需系统参数信息,本节推导出在线求解随机系统追踪问题的Q学习算法. 引理2[14]给定容许控制uk=KXk,由引理1可知系统的最优值函数为 (15) 最优控制增益矩阵为 (16) 式中:矩阵P*是式(17)增广随机代数方程的解. (17) 注3由引理2可知,求解SLQ最优追踪控制的有效方法之一就是求解增广随机代数方程.然而,求解式(17)需要完全已知系统的全部动力学信息,因此,当系统动力学参数未知时,式(17)就无法求解. 为了求解最优追踪控制无需系统的动力学信息,下文给出Q函数的定义和对应的H矩阵,基于式(7)得: (18) 由式(18)和贝尔曼最优性原理得: (19) 定义Q函数为 (20) 代入增广系统(5),式(20)变为 γE((TXk+B0uk)TP(TXk+B0uk)), (21) 化简式(21)可得: (22) 进一步化简式(22): (23) 式中:H=HT∈R(n+q+m)×(n+q+m), (24) 并且Q函数可重写为 (25) 由引理1和式(25)可知P和H的联系为 (26) 通过式(24)可知,求解随机线性二次最优追踪控制增益矩阵摆脱了系统模型参数的限制,系统控制的最优解仅依赖于H矩阵,H矩阵包含了系统的动态特性信息,如果H矩阵已知,就能够实现在无需系统参数的情况下在线求解系统的最优控制增益矩阵K*. 文献[16]使用Q学习算法解决确定性离散系统的H∞最优控制问题,文献[13]使用Q学习算法解决随机离散系统的最优调节控制问题,并且均证明了Q学习算法的收敛性.本文的Q学习算法推导过程基于文献[13]和文献[16].基于值迭代方法[13],由式(25)可得: (27) 同时由式(21)、(25)以及式(20)的右半部分化简为 (28) 由式(27)、(28),可以得到: (29) 由式(24)得控制迭代式: (30) 式(29)、(30)构成了Q学习算法,可知系统参数信息A∈Rn×n,B∈Rn×m,C∈Rn×n,D∈Rn×m均包含在系统状态Tk和Tk+1之中,因此系统矩阵信息A,B,C,D矩阵可以是未知的.接下来说明Q学习算法的等价性和收敛性. 定理1Q学习算法式(29)—(30)等价于 (31) 证明由于 (32) 代入式(26),化简式(27)和式(28)的左半部分后,得: (33) 又因为有: (34) 结合式(30)、(33)和(34)可得: (35) Q学习算法基于值迭代算法,值迭代算法的收敛性在文献[14]已经有详细的证明,并且Q学习算法的迭代和增广系统的随机代数方程自身的迭代是等价的. 本节给出Q学习算法的具体实现步骤. 式(29)可进一步化简为 (36) 为了方便计算式(36),另记 使用最小二乘法求解式(36)之前,首先引入三个算子: 式中: 因此,式(36)可化简为 (37) Q学习算法的流程如图1所示. 图1 Q学习算法流程Fig.1 Flowchart of Q-learning 2)同时在系统(13)需要引入探测噪声,以保证能够充分探测系统参数信息. 本节给出一个仿真实例来说明Q学习算法的有效性. 假设乘性噪声随机线性系统动态模型如下: (38) 假设参考轨迹的动态模型如下: rk+1=-rk. (39) 图2 控制增益矩阵K曲线Fig.2 Curves of control gain matrix K 为了验证Q学习算法迭代求解的K矩阵的准确性,需要把迭代计算的K矩阵同SAE方程求解出的最优控制增益矩阵K*比较.首先通过式(16)、(17)的SAE方程求得系统的最优控制矩阵K*.K矩阵收敛到最优控制矩阵K*的过程如图3所示.由图3可以看出,随着迭代次数的增加,控制矩阵K收敛到最优控制矩阵K*,并且P收敛到代数方程的解P*.P收敛到代数方程的解P*的过程如图4所示,验证了Q学习算法的有效性. 图3 控制矩阵K的收敛Fig.3 Convergence of control gain matrix K 图4 矩阵P的收敛Fig.4 Convergence of matrix P 追踪问题的目标是追踪到参考信号轨迹,结果如图5所示,系统的期望输出E(y)追踪到了参考轨迹r. 图5 系统的期望输出曲线Fig.5 Curves of system output E(y) 通常来说,求解随机最优追踪控制问题需要完全的系统参数信息,本文针对离散时间系统的随机线性二次最优追踪控制问题,推导了Q学习算法,给出算法的具体实现步骤,使用Q学习算法在线解决追踪控制问题而无需系统模型参数,最后给出仿真结果表明系统输出可以有效地追踪参考轨迹.2 问题转换
3 Q学习算法的推导
4 Q学习算法的实现
5 系统仿真
6 结论