控制理论发展到现在,可以说成果丰硕,特别是在理论方面每年都有大量的论文发表,相应的控制方法分支也很多(这里主要是指现代控制理论,以频域分析为代表的经典控制理论在控制工程中用得比较多,而且通常在本科阶段的自动控制原理课程上讲得比较多了,同时以MATLAB为代表的软件也将频域分析工具做得比较完善了,所以主要是实际应用,但不太好写论文发表),一般在控制理论专业的研究生课程里面多少会接触一些控制分支的入门知识,为后面写论文打下基础,包括鲁棒控制、自适应控制、最优控制等。和其他控制分支相比,最优控制比较特别,一个显著的特点是最优控制的理论支撑并不是其他控制分支所强调的稳定性,其出发点是设计控制输入使得事先定义的性能指标取极值。最优控制在英文文献中通常称为optimal control, 单从英文翻译的角度,optimal不是最高级形式,因此将其翻译成最优可以认为是一种意译,而且最优控制这个名称很大程度上占了名称的便宜,从而博得关注,毕竟最优这个词容易给人一种印象,似乎最优控制是控制里面最好的方法,从而吸引人们的注意力(可见在科研过程中取一个好名字是多么重要,就像现在的深度学习一样,听起来就很高大上,写论文也是如此,有个好的题目容易获得审稿人的印象分,当然里面的内容也要能在一定程度上支撑起这个题目),但在深入了解之后便会发现,最优控制的控制效果能够好到什么程度和具体的工程应用背景有关,绝不像其名字听起来那么完美。
我们还是先用控制常用的叙述方式阐述最优控制的思想,最优控制研究的是模型精确已知的系统:
x ˙ ( t ) = f ( x ( t ) , u ( t ) , t ) (1) \dot{x}(t)=f(x(t),u(t),t)\tag{1} x˙(t)=f(x(t),u(t),t)(1)
其中, x ( t ) ∈ R n x(t)\in\mathbb{R}^{n} x(t)∈Rn为系统状态, u ( t ) u(t) u(t)为控制输入, f f f为已知的线性或者非线性函数。针对系统(1),在给定的容许控制集 U \mathbf{U} U中求控制律 u ( t ) ∈ U u(t)\in\mathbf{U} u(t)∈U, t ∈ [ t 0 , t f ] t\in[t_0,t_\mathrm{f}] t∈[t0,tf],使得性能指标
J = Φ [ x ( t f ) , t f ] + ∫ t 0 t f L [ x ( t ) , u ( t ) , t ] d t J=\varPhi[x(t_\mathrm{f}),t_\mathrm{f}]+\int_{t_0}^{t_\mathrm{f}}L[x(t),u(t),t]\mathrm{d}t J=Φ[x(tf),tf]+∫t0tfL[x(t),u(t),t]dt
最小(注意到 J J J为标量,如果需要性能指标最优,只需要将 J J J取负号即可)。同时,控制律还应满足对系统相应的约束条件。最优控制有三大理论支撑:变分法、极小值原理和动态规划。一般的最优控制教材会从变分法出发处理不同情形的约束条件,得到相应的最优性条件,然后用极小值原理对最优性条件进行推广,表明极小值原理比变分法更为适用(不过极小值原理的证明比较复杂),最后分析动态规划与变分法和极小值原理的等价性。这里梳理一下利用变分法得到的几种典型约束情形下的最优性条件,主要分为终端时刻固定和终端时刻自由两类,具体推导可参见文献[1]和[2],特别是文献[2]是最优控制领域的经典著作,值得看一看。
1.终端时刻固定
1.1 终端时刻固定,终端状态自由
此时系统初始状态 x ( t 0 ) x(t_0) x(t0)、起始时刻 t 0 t_0 t0和终端时刻 t f t_\mathrm{f} tf给定,定义Hamiltion函数
H [ x ( t ) , u ( t ) , λ ( t ) , t ] = L [ x ( t ) , u ( t ) , t ] + λ T ( t ) f [ x ( t ) , u ( t ) , t ] H[x(t),u(t),\lambda(t),t]=L[x(t),u(t),t]+\lambda^\mathrm{T}(t)f[x(t),u(t),t] H[x(t),u(t),λ(t),t]=L[x(t),u(t),t]+λT(t)f[x(t),u(t),t]
其中, λ ( t ) \lambda(t) λ(t)为Lagrange乘子,也称为协态变量。若 u ∗ ( t ) u^*(t) u∗(t)和 x ∗ ( t ) x^*(t) x∗(t)分别为最优控制和最优轨线,则有
(1)规范方程
x ˙ ∗ ( t ) = ∂ H [ x ∗ ( t ) , u ∗ ( t ) , λ ( t ) , t ] ∂ λ ( t ) = f [ x ∗ ( t ) , u ∗ ( t ) , t ] \dot{x}^*(t)=\frac{\partial H[x^*(t),u^*(t),\lambda(t),t]}{\partial\lambda(t)}=f[x^*(t),u^*(t),t] x˙∗(t)=∂λ(t)∂H[x∗(t),u∗(t),λ(t),t]=f[x∗(t),u∗(t),t]
λ ˙ ( t ) = − ∂ H [ x ∗ ( t ) , u ∗ ( t ) , λ ( t ) , t ] ∂ x ∗ ( t ) \dot\lambda(t)=-\frac{\partial H[x^*(t),u^*(t),\lambda(t),t]}{\partial x^*(t)} λ˙(t)=−∂x∗(t)∂H[x∗(t),u∗(t),λ(t),t]
(2)边值条件
x ( t 0 ) = x 0 x(t_0)=x_0 x(t0)=x0
λ ( t f ) = ∂ Φ [ x ∗ ( t f ) , t f ] ∂ x ∗ ( t f ) \lambda(t_\mathrm{f})=\frac{\partial \varPhi[x^*(t_\mathrm{f}),t_\mathrm{f}]}{\partial x^*(t_\mathrm{f})} λ(tf)=∂x∗(tf)∂Φ[x∗(tf),tf]
(3)极值条件
∂ H [ x ∗ ( t ) , u ∗ ( t ) , λ ( t ) , t ] ∂ u ∗ ( t ) = 0 \frac{\partial H[x^*(t),u^*(t),\lambda(t),t]}{\partial u^*(t)}=0 ∂u∗(t)∂H[x∗(t),u∗(t),λ(t),t]=0
1.2 终端时刻固定,终端状态固定
此时系统初始状态 x ( t 0 ) x(t_0) x(t0)、初始时刻 t 0 t_0 t0、终端状态 x ( t f ) x(t_\mathrm{f}) x(tf)和终端时刻 t f t_\mathrm{f} tf均给定,定义Hamiltion函数
H [ x ( t ) , u ( t ) , λ ( t ) , t ] = L [ x ( t ) , u ( t ) , t ] + λ T ( t ) f [ x ( t ) , u ( t ) , t ] H[x(t),u(t),\lambda(t),t]=L[x(t),u(t),t]+\lambda^\mathrm{T}(t)f[x(t),u(t),t] H[x(t),u(t),λ(t),t]=L[x(t),u(t),t]+λT(t)f[x(t),u(t),t]
则有
(1)规范方程
x ˙ ∗ ( t ) = ∂ H [ x ∗ ( t ) , u ∗ ( t ) , λ ( t ) , t ] ∂ λ ( t ) = f [ x ∗ ( t ) , u ∗ ( t ) , t ] \dot{x}^*(t)=\frac{\partial H[x^*(t),u^*(t),\lambda(t),t]}{\partial\lambda(t)}=f[x^*(t),u^*(t),t] x˙∗(t)=∂λ(t)∂H[x∗(t),u∗(t),λ(t),t]=f[x∗(t),u∗(t),t]
λ ˙ ( t ) = − ∂ H [ x ∗ ( t ) , u ∗ ( t ) , λ ( t ) , t ] ∂ x ∗ ( t ) \dot\lambda(t)=-\frac{\partial H[x^*(t),u^*(t),\lambda(t),t]}{\partial x^*(t)} λ˙(t)=−∂x∗(t)∂H[x∗(t),u∗(t),λ(t),t]
(2)边值条件
x ( t 0 ) = x 0 x(t_0)=x_0 x(t0)=x0
x ( t f ) = x f x(t_\mathrm{f})=x_\mathrm{f} x(tf)=xf
(3)极值条件
∂ H [ x ∗ ( t ) , u ∗ ( t ) , λ ( t ) , t ] ∂ u ∗ ( t ) = 0 \frac{\partial H[x^*(t),u^*(t),\lambda(t),t]}{\partial u^*(t)}=0 ∂u∗(t)∂H[x∗(t),u∗(t),λ(t),t]=0
1.3 终端时刻固定,终端状态等式约束
与第2种情形相比,这一情形更为一般,要求终端状态 x ( t f ) x(t_\mathrm{f}) x(tf)满足一组代数方程。此时系统初始状态 x ( t 0 ) x(t_0) x(t0)、初始时刻 t 0 t_0 t0和终端时刻 t f t_\mathrm{f} tf均给定,终端状态等式约束描述如下:
g [ x ( t f ) , t f ] = 0 , g ∈ R l g[x(t_\mathrm{f}),t_\mathrm{f}]=0,\quad g\in\mathbb{R}^l g[x(tf),tf]=0,g∈Rl
其中函数向量 g g g对于 x ( t f ) x(t_\mathrm{f}) x(tf)存在一阶偏导数, l ≤ n l\leq n l≤n。Hamiltion函数定义为
H [ x ( t ) , u ( t ) , λ ( t ) , t ] = L [ x ( t ) , u ( t ) , t ] + λ T ( t ) f [ x ( t ) , u ( t ) , t ] H[x(t),u(t),\lambda(t),t]=L[x(t),u(t),t]+\lambda^\mathrm{T}(t)f[x(t),u(t),t] H[x(t),u(t),λ(t),t]=L[x(t),u(t),t]+λT(t)f[x(t),u(t),t]
则存在适当选取的Lagrange乘子 μ \mu μ使得如下方程和等式成立:
(1)规范方程
x ˙ ∗ ( t ) = ∂ H [ x ∗ ( t ) , u ∗ ( t ) , λ ( t ) , t ] ∂ λ ( t ) = f [ x ∗ ( t ) , u ∗ ( t ) , t ] \dot{x}^*(t)=\frac{\partial H[x^*(t),u^*(t),\lambda(t),t]}{\partial\lambda(t)}=f[x^*(t),u^*(t),t] x˙∗(t)=∂λ(t)∂H[x∗(t),u∗(t),λ(t),t]=f[x∗(t),u∗(t),t]
λ ˙ ( t ) = − ∂ H [ x ∗ ( t ) , u ∗ ( t ) , λ ( t ) , t ] ∂ x ∗ ( t ) \dot\lambda(t)=-\frac{\partial H[x^*(t),u^*(t),\lambda(t),t]}{\partial x^*(t)} λ˙(t)=−∂x∗(t)∂H[x∗(t),u∗(t),λ(t),t]
(2)边值条件
x ( t 0 ) = x 0 x(t_0)=x_0 x(t0)=x0
λ ( t f ) = ∂ Φ [ x ∗ ( t f ) , t f ] ∂ x ∗ ( t f ) + ∂ g T [ x ∗ ( t f ) , t f ] ∂ x ∗ ( t f ) μ \lambda(t_\mathrm{f})=\frac{\partial \varPhi[x^*(t_\mathrm{f}),t_\mathrm{f}]}{\partial x^*(t_\mathrm{f})}+\frac{\partial g^\mathrm{T}[x^*(t_\mathrm{f}),t_\mathrm{f}]}{\partial x^*(t_\mathrm{f})}\mu λ(tf)=∂x∗(tf)∂Φ[x∗(tf),tf]+∂x∗(tf)∂gT[x∗(tf),tf]μ
g [ x ∗ ( t f ) , t f ] = 0 g[x^*(t_\mathrm{f}),t_\mathrm{f}]=0 g[x∗(tf),tf]=0
(3)极值条件
∂ H [ x ∗ ( t ) , u ∗ ( t ) , λ ( t ) , t ] ∂ u ∗ ( t ) = 0 \frac{\partial H[x^*(t),u^*(t),\lambda(t),t]}{\partial u^*(t)}=0 ∂u∗(t)∂H[x∗(t),u∗(t),λ(t),t]=0
前面3种情形都是终端时刻固定,且情形1.3在工程应用中比较常见,下面进一步看终端时刻自由的情形。
2.终端时刻自由
此时一般考虑终端状态具有等式约束,设 t f ∗ t_\mathrm{f}^* tf∗为最优终端时刻,终端状态等式约束如式(15)所示,则存在适当选取的Lagrange乘子 μ \mu μ使得如下方程和等式成立:
(1)规范方程
x ˙ ∗ ( t ) = ∂ H [ x ∗ ( t ) , u ∗ ( t ) , λ ( t ) , t ] ∂ λ ( t ) = f [ x ∗ ( t ) , u ∗ ( t ) , t ] \dot{x}^*(t)=\frac{\partial H[x^*(t),u^*(t),\lambda(t),t]}{\partial\lambda(t)}=f[x^*(t),u^*(t),t] x˙∗(t)=∂λ(t)∂H[x∗(t),u∗(t),λ(t),t]=f[x∗(t),u∗(t),t]
λ ˙ ( t ) = − ∂ H [ x ∗ ( t ) , u ∗ ( t ) , λ ( t ) , t ] ∂ x ∗ ( t ) \dot\lambda(t)=-\frac{\partial H[x^*(t),u^*(t),\lambda(t),t]}{\partial x^*(t)} λ˙(t)=−∂x∗(t)∂H[x∗(t),u∗(t),λ(t),t]
(2)边值条件
x ( t 0 ) = x 0 x(t_0)=x_0 x(t0)=x0
λ ( t f ∗ ) = ∂ Φ [ x ∗ ( t f ∗ ) , t f ∗ ] ∂ x ∗ ( t f ∗ ) + ∂ g T [ x ∗ ( t f ∗ ) , t f ∗ ] ∂ x ∗ ( t f ∗ ) μ \lambda(t_\mathrm{f}^*)=\frac{\partial \varPhi[x^*(t_\mathrm{f}^*),t_\mathrm{f}^*]}{\partial x^*(t_\mathrm{f}^*)}+\frac{\partial g^\mathrm{T}[x^*(t_\mathrm{f}^*),t_\mathrm{f}^*]}{\partial x^*(t_\mathrm{f}^*)}\mu λ(tf∗)=∂x∗(tf∗)∂Φ[x∗(tf∗),tf∗]+∂x∗(tf∗)∂gT[x∗(tf∗),tf∗]μ
(3)极值条件
∂ H [ x ∗ ( t ) , u ∗ ( t ) , λ ( t ) , t ] ∂ u ∗ ( t ) = 0 \frac{\partial H[x^*(t),u^*(t),\lambda(t),t]}{\partial u^*(t)}=0 ∂u∗(t)∂H[x∗(t),u∗(t),λ(t),t]=0
(4)终端条件
H [ x ∗ ( t f ∗ ) , u ∗ ( t f ∗ ) , λ ( t f ∗ ) , t f ∗ ] = − ∂ Φ [ x ∗ ( t f ∗ ) , t f ∗ ] ∂ t f ∗ − ∂ g T [ x ∗ ( t f ∗ ) , t f ∗ ] ∂ t f ∗ μ H[x^*(t_\mathrm{f}^*),u^*(t_\mathrm{f}^*),\lambda({t_\mathrm{f}^*}),t_\mathrm{f}^*]=-\frac{\partial \varPhi[x^*(t_\mathrm{f}^*),t_\mathrm{f}^*]}{\partial t_\mathrm{f}^*}-\frac{\partial g^\mathrm{T}[x^*(t_\mathrm{f}^*),t_\mathrm{f}^*]}{\partial t_\mathrm{f}^*}\mu H[x∗(tf∗),u∗(tf∗),λ(tf∗),tf∗]=−∂tf∗∂Φ[x∗(tf∗),tf∗]−∂tf∗∂gT[x∗(tf∗),tf∗]μ
直观上看,终端时刻自由的适用范围比终端时刻固定更广,相应的方程也会复杂一点,毕竟求解的变量多了一个最优终端时刻,实际中则需要结合具体的应用背景选择情形。一般在航天器轨迹优化应用中,指标为节省燃料等形式,如果终端时刻自由,由于轨道的周期性,不限制飞行时间可能得不到想要的燃料最优轨迹,或者说飞行时间可能无限长,不具备实际意义,通常的做法是事先设定一个较大的飞行时间,作为实际最优飞行时间的上界,将问题作为终端时刻固定情形进行求解,如果得到的最优解中到达目标轨道所用的时间小于设定飞行时间,那么相当于此后的控制一直为0。
此外,无论哪种情形都需要面对两点边值问题,即所得到的方程中,只知道系统状态的初值和协态变量的终值,求解上需要费些功夫,关于最优控制的数值求解属于专门的研究领域了,留待后续介绍。
参考文献
[1]钟宜生. 最优控制[M]. 清华大学出版社, 2015.
[2]Bryson A E, Ho Yu-Chi. Applied optimal control: optimization, estimation and control[M]. Taylor & Francis, 1975.
今天的文章最优控制例子_最优控制理论的典型框图[通俗易懂]分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/87815.html