【OC】线性二次型(LQR)性能指标最优控制(1)
导航
- 开环控制与闭环控制
- LQR
- 状态调节器
- 末端自由
- 案例
- 参考资料
开环控制与闭环控制
根据最大值原理求出的最优控制是时间的函数,是一种开环控制,在开环控制的过程中不允许有任何干扰,对环境的要求很高,所以在实际工程中更希望以一种闭环控制实现,即控制函数为时间和状态的函数,但是求解闭环控制是困难的,不过对于LQ系统是可以求解的.
LQR
设系统状态方程为
x˙(t)=A(t)x(t)+B(t)u(t)y(t)=C(t)x(t)(1)\begin{aligned} &\dot{x}(t)=A(t)x(t)+B(t)u(t)\\ &y(t)=C(t)x(t) \end{aligned}\tag{1} x˙(t)=A(t)x(t)+B(t)u(t)y(t)=C(t)x(t)(1)
其中x(t)x(t)x(t)是nnn维向量,u(t)u(t)u(t)是rrr维向量,y(t)y(t)y(t)是mmm维输出向量,A(t),B(t),C(t)A(t), B(t), C(t)A(t),B(t),C(t)分别为n×n,n×r,n×mn\times n, n\times r, n\times mn×n,n×r,n×m矩阵,指标泛函为
J=12xT(T)Sx(T)+12∫t0T[xT(t)Q(t)x(t)+uT(t)R(t)u(t)]dt(2)J=\frac{1}{2}x^T(T)Sx(T)+\frac{1}{2}\int_{t_0}^T[x^T(t)Q(t)x(t)+u^T(t)R(t)u(t)]dt\tag{2} J=21xT(T)Sx(T)+21∫t0T[xT(t)Q(t)x(t)+uT(t)R(t)u(t)]dt(2)
其中矩阵SSS为半正定对称常数矩阵,Q(t)Q(t)Q(t)为半正定对称时变矩阵,R(t)R(t)R(t)为正定对称时变矩阵,控制u(x,t)u(x, t)u(x,t)为综合控制函数,这种问题就是LQR问题.
指标物理意义分析:
- 积分项的第一项是对过程的要求,由于Q(t)Q(t)Q(t)是半正定的,在控制过程中,要求每个分量越小越好,但是分量的重要性不同,需要使用Q(t)Q(t)Q(t)进行调节.
- 积分项第二项是对控制能力的要求,要求在整个控制过程中,使得能量消耗最小,考虑到如果不对u(t)u(t)u(t)中每个分量都进行控制,那么u(t)u(t)u(t)会出现很大的幅值,导致工程实现难度增大,并且计算中需要用到R(t)R(t)R(t)的逆矩阵,所以设置R(t)R(t)R(t)为正定矩阵.
- 指标第一项是对终点状态的要求,对每个分量要求不同,使用矩阵SSS进行加权.
在一般工程中,S,Q(T)S, Q(T)S,Q(T)和R(t)R(t)R(t)通常使用对角阵.
状态调节器
状态调节器就是选择u(t)u(t)u(t)或者u(x,t)u(x, t)u(x,t)使得指标泛函(2)(2)(2)具有最小值
末端自由
根据最小值原理构造哈密顿函数
H=12xTQ(t)x+12uTR(t)u+λTA(t)x+λTB(t)uH=\frac{1}{2}x^TQ(t)x+\frac{1}{2}u^TR(t)u+\lambda^TA(t)x+\lambda^TB(t)u H=21xTQ(t)x+21uTR(t)u+λTA(t)x+λTB(t)u
得到伴随方程及边界条件
{λ˙(t)=−∂H∂x=−AT(t)λ−Q(t)x(t)λ(T)=Sx(T)\left\{ \begin{aligned} &\dot{\lambda}(t)=-\frac{\partial H}{\partial x}=-A^T(t)\lambda-Q(t)x(t)\\ &\lambda(T)=Sx(T) \end{aligned} \right. ⎩⎨⎧λ˙(t)=−∂x∂H=−AT(t)λ−Q(t)x(t)λ(T)=Sx(T)
由于u(t)u(t)u(t)不受限制,最优控制需要满足
∂H∂u=RT(t)u(t)+B(t)Tλ(t)=0\frac{\partial H}{\partial u}=R^T(t)u(t)+B(t)^T\lambda(t)=0 ∂u∂H=RT(t)u(t)+B(t)Tλ(t)=0
且R(t)R(t)R(t)为正定矩阵,可以解出
u∗(t)=−R−1(t)B(t)Tλ(t)(3)u^*(t)=-R^{-1}(t)B(t)^T\lambda(t)\tag{3} u∗(t)=−R−1(t)B(t)Tλ(t)(3)
计算二阶条件,可知u∗(t)u^*(t)u∗(t)为HHH的极小值点
∂2H∂u2=R(t)≻0\frac{\partial ^2H}{\partial u^2}=R(t)\succ0 ∂u2∂2H=R(t)≻0
将(3)(3)(3)代入正则方程得到
x˙(t)=A(t)x(t)−B(t)R−1(t)BT(t)λ(t),x(t0)=x0λ˙(t)=−AT(t)λ(t)−Q(t)x(t),λ(T)=Sx(T)\begin{aligned} &\dot{x}(t)=A(t)x(t)-B(t)R^{-1}(t)B^T(t)\lambda(t), x(t_0)=x_0 \\ &\dot{\lambda}(t)=-A^T(t)\lambda(t)-Q(t)x(t), \lambda(T)=Sx(T) \end{aligned} x˙(t)=A(t)x(t)−B(t)R−1(t)BT(t)λ(t),x(t0)=x0λ˙(t)=−AT(t)λ(t)−Q(t)x(t),λ(T)=Sx(T)
可以发现方程组是关于x(t)x(t)x(t)和λ(t)\lambda(t)λ(t)的线性齐次方程,且x(t)x(t)x(t)和λ(t)\lambda(t)λ(t)的终点方程可以猜测x(t)x(t)x(t)和λ(t)\lambda(t)λ(t)的线性关系
λ(t)=P(t)x(t)(4)\lambda(t)=P(t)x(t)\tag{4} λ(t)=P(t)x(t)(4)
其中,P(t)P(t)P(t)为矩阵,将方程(4)(4)(4)对ttt求导得到
λ˙(t)=P˙(t)x(t)+P(t)x˙(t)=P˙(t)x(t)+P(t)(A(t)x(t)−B(t)R−1(t)BT(t)λ(t))=λ(t)=P(t)x(t)(P˙(t)+P(t)A(t)−P(t)B(t)R−1(t)BT(t)P(t))x(t)\begin{aligned} \dot{\lambda}(t)&=\dot{P}(t)x(t)+P(t)\dot{x}(t)\\ &=\dot{P}(t)x(t)+P(t)(A(t)x(t)-B(t)R^{-1}(t)B^T(t)\lambda(t))\\ &\xlongequal{\lambda(t)=P(t)x(t)} (\dot{P}(t)+P(t)A(t)-P(t)B(t)R^{-1}(t)B^T(t)P(t))x(t) \end{aligned} λ˙(t)=P˙(t)x(t)+P(t)x˙(t)=P˙(t)x(t)+P(t)(A(t)x(t)−B(t)R−1(t)BT(t)λ(t))λ(t)=P(t)x(t)(P˙(t)+P(t)A(t)−P(t)B(t)R−1(t)BT(t)P(t))x(t)
由正则方程中
λ˙(t)=−Q(t)x(t)−AT(t)λ(t)=(−Q(t)−AT(t)P(t))x(t)\dot{\lambda}(t)=-Q(t)x(t)-A^T(t)\lambda(t)=(-Q(t)-A^T(t)P(t))x(t) λ˙(t)=−Q(t)x(t)−AT(t)λ(t)=(−Q(t)−AT(t)P(t))x(t)
进行系数对比,方程对所有x(t)x(t)x(t)成立得到关系式
P˙(t)+P(t)A(t)+AT(t)P(t)−P(t)B(t)R−1(t)BT(t)P(t)+Q(t)=0(5)\dot{P}(t)+P(t)A(t)+A^T(t)P(t)-P(t)B(t)R^{-1}(t)B^T(t)P(t)+Q(t)=0\tag{5} P˙(t)+P(t)A(t)+AT(t)P(t)−P(t)B(t)R−1(t)BT(t)P(t)+Q(t)=0(5)
方程(5)(5)(5)是关于矩阵P(t)P(t)P(t)的一阶非线性常微分方程,即Riccati方程.
可以得到Riccati方程的边界条件为
P(T)=SP(T)=S P(T)=S
可以证明,当矩阵A(t),B(t),Q(t),R(t)A(t), B(t), Q(t), R(t)A(t),B(t),Q(t),R(t)的元素在[t0,T][t_0, T][t0,T]上都是时间ttt的分段连续函数时,方程(5)(5)(5)存在满足边界条件的唯一解.
最优控制可以表示为
u∗(x,t)=−R−1(t)BT(t)P(t)xu^*(x, t)=-R^{-1}(t)B^T(t)P(t)x u∗(x,t)=−R−1(t)BT(t)P(t)x
令
K(t)=R−1(t)BT(t)P(t)K(t)=R^{-1}(t)B^T(t)P(t) K(t)=R−1(t)BT(t)P(t)
得到
u∗(x,t)=−K(t)xu^*(x, t)=-K(t)x u∗(x,t)=−K(t)x
即最优控制是状态变量的线性函数,借助状态变量的线性反馈可以实现闭环最优控制. 由此将最优控制求解问题转为Riccati微分方程求解问题.
转置Riccati方程,得到
P˙T(t)+AT(t)PT(t)+PT(t)A(t)−PT(t)B(t)(R−1(t))TP(t)+QT(t)=0\dot{P}^T(t)+A^T(t)P^T(t)+P^T(t)A(t)-P^T(t)B(t)(R^{-1}(t))^TP(t)+Q^T(t)=0 P˙T(t)+AT(t)PT(t)+PT(t)A(t)−PT(t)B(t)(R−1(t))TP(t)+QT(t)=0
由于R(t)R(t)R(t)和Q(t)Q(t)Q(t)均为对称矩阵,RT(t)=R(t),QT(t)=Q(t)R^T(t)=R(t), Q^T(t)=Q(t)RT(t)=R(t),QT(t)=Q(t),边界条件为
P(t)=ST=SP^(t)=S^T=S P(t)=ST=S
所以PT(t)P^T(t)PT(t)也满足Riccati方程,即P(t)P(t)P(t)为对称,包含n(n−1)2\frac{n(n-1)}{2}2n(n−1)个未知数.
得到最优性能指标为
J∗=12xT(t0)P(t0)x(t0)J^*=\frac{1}{2}x^T(t_0)P(t_0)x(t_0) J∗=21xT(t0)P(t0)x(t0)
证明P(t)P(t)P(t)是半正定的,由上述方程可知
J∗=12xT(t0)P(t0)x(t0)=12xT(T)Sx(T)+12∫t0T(xTQx+uTRu)dtJ^*=\frac{1}{2}x^T(t_0)P(t_0)x(t_0)=\frac{1}{2}x^T(T)Sx(T)+\frac{1}{2}\int_{t_0}^T(x^TQx+u^TRu)dt J∗=21xT(t0)P(t0)x(t0)=21xT(T)Sx(T)+21∫t0T(xTQx+uTRu)dt
因为S,Q(t),R(t)S, Q(t), R(t)S,Q(t),R(t)的半正定和正定的性质,可以知道J∗≥0J^*\geq 0J∗≥0.
案例
设一阶动态系统状态方程和初始条件分别为
x˙=ax+ux(0)=1\begin{aligned} &\dot{x}=ax+u\\ &x(0)=1 \end{aligned} x˙=ax+ux(0)=1
性能指标泛函为
J=12sx2(T)+12∫t0T(qx2(t)+ru2(t))dtJ=\frac{1}{2}sx^2(T)+\frac{1}{2}\int_{t_0}^T(qx^2(t)+ru^2(t))dt J=21sx2(T)+21∫t0T(qx2(t)+ru2(t))dt
求使JJJ最小的uuu.
解析:
根据上述推导可以得到最优控制u∗u^*u∗和Riccati方程和边界条件为
u∗=−1rp(t)xp˙(t)=−2ap(t)+1rp2(t)−qp(T)=s\begin{aligned} &u^*=-\frac{1}{r}p(t)x\\ &\dot{p}(t)=-2ap(t)+\frac{1}{r}p^2(t)-q\\ &p(T)=s \end{aligned} u∗=−r1p(t)xp˙(t)=−2ap(t)+r1p2(t)−qp(T)=s
其中Riccati方程可以通过移项后两边积分得到
∫p(t)p(T)dp1rp2−2ap−q=∫tTdτ\int_{p(t)}^{p(T)}\frac{dp}{\frac{1}{r}p^2-2ap-q}=\int_t^Td\tau ∫p(t)p(T)r1p2−2ap−qdp=∫tTdτ
求解得到
p(t)=r(β+α)+(β−α)s/r−α−βs/r−α−βe2b(t−T)1−s/r−α−βs/r−α+βe2b(t−T)p(t)=r\frac{(\beta+\alpha)+(\beta-\alpha)\frac{s/r-\alpha-\beta}{s/r-\alpha-\beta}e^{2b(t-T)}}{1-\frac{s/r-\alpha-\beta}{s/r-\alpha+\beta}e^{2b(t-T)}} p(t)=r1−s/r−α+βs/r−α−βe2b(t−T)(β+α)+(β−α)s/r−α−βs/r−α−βe2b(t−T)
其中β=qr+a2\beta=\sqrt{\frac{q}{r}+a^2}β=rq+a2,最优轨线微分方程为
x˙(t)=(a−1rp(t))x(t)x(0)=1\dot{x}(t)=(a-\frac{1}{r}p(t))x(t)\\ x(0)=1 x˙(t)=(a−r1p(t))x(t)x(0)=1
解之得
x(t)=e∫0t(a−p(t)/r)dτx(t)=e^{\int_0^t(a-p(t)/r)d\tau} x(t)=e∫0t(a−p(t)/r)dτ
参考资料
现代控制理论(第二版) 清华大学出版社 张嗣瀛 高立群
State Space part4: What is LQR control
最优控制 LQR控制器
【OC】线性二次型(LQR)性能指标最优控制(1)相关推荐
- 【OC】线性二次型(LQR)性能指标最优控制(3)
导航 前文链接 跟踪问题 案例:Matlab求解最优控制 快速控制系统 参考资料 前文链接 LQR(2) 跟踪问题 要求选择控制使得系统输出跟随某个理想的已知输出,这类问题就是跟踪问题,设系统方程为 ...
- 关于最优控制的一些总结3
上一次总结了利用变分法推导得到的典型情形下最优控制需要满足的必要条件,具体的推导在大部分最优控制教材中都可以找到,并且在这些教材中一般会将变分法.极小值原理和动态规划作为最优控制的三大理论支撑.事实上 ...
- 【控制】《自动控制原理》胡寿松老师-第10章-动态系统的最优控制方法
第9章 回到目录 无 第10章-动态系统的最优控制方法 10.1 最优控制的一般概念 10.2 最优控制中的变分法 10.3 极小值原理及其应用 10.4 线性二次型问题的最优控制 1. 线性二次型问 ...
- 基于遗传算法和粒子群算法的PID悬架控制、LQR悬架控制和滑模悬架控制
目录 1.基于遗传算法和粒子群算法的的PID悬架控制 1.1 两种悬架系统 1.1.1 将路面激励整合到悬架系统 1.1.2 不将路面激励整合到悬架系统 1.1.3 总结 1.2 PID经典控制理论 ...
- matlab riccati 方程,matlab解riccati方程
Riccati 方程求解 ? ? 前三个问题将介绍解析解与数值解,后一 个属于非... 矩阵的化零空间或基础解系计算,支持符号运算 求解连续 Lyapunov 方程.Sylvester 方程的数值解 ...
- 【数理知识】Riccati 黎卡提 system
相关链接:[Matlab]求解黎卡提 Riccati 方程 李雅普诺夫 Lyapunov 方程 黎卡提 Riccati 黎卡提方程 (Riccati equation) 代数 Riccati 方程 1 ...
- c++ 多重背包状态转移方程_串讲:控制理论:全状态反馈控制(FSFB)
全状态反馈控制也可以被称作状态反馈控制,它是现代控制理论的一种控制方法,私信中部分小伙伴问道极点配置还有状态反馈是怎么回事,这里就写一篇文章来解决上述问题.介绍全状态反馈控制(FSFB)之前,根据自己 ...
- LQ优化控制Matlab,基于Matlab的LQ控制器的设计与仿真研究
第24卷第4期2010年7月甘肃联合大学学报(自然科学版) Jour nal of G ansu Lianhe U niver sity (N atural Sciences)V o l.24No.4 ...
- 运筹学状态转移方程例子_强化学习第4期:H-J-B方程
在上一篇文章中,我们介绍了一种最简单的MDP--s与a都是有限的MDP的求解方法.其中,我们用到了动态规划的思想,并且推出了"策略迭代"."值迭代"这样的方法. ...
- 二阶倒立摆matlab建模与仿真,二级倒立摆的建模与MATLAB仿真.pdf
二级倒立摆的建模与MATLAB仿真 MATLAB 二级倒立摆的建模与 仿真 刘文斌,等 二级倒立摆的建模与MATLAB仿真 刘文斌,千树川 3000) (四川理工学院电子与信息工程系 四川自贡,64 ...
最新文章
- JVM---本地方法接口和本地方法栈
- Database · 理论基础 · 关于一致性协议和分布式锁
- 解决maven下载jar慢的问题(如何更换Maven下载源)
- Windows下查看dll被哪个进程调用
- 动画 java_Java动画程序介绍
- 【car】为什么后轮驱动的电动小摩托后轮打滑时制动前轮能起到较好的防打滑效果(ESC、ESP、VSA车身稳定系统)
- 参数匹配顺序——Python学习之参数(三)
- 高性能key-value数据库
- 删除msconfig启动项不打勾的东西
- 2020CCPC(威海) - Rencontre(树形dp)
- SAP Spartacus Multi-Site Configuration
- python模型的属性是什么_Python的自定义属性访问跟描述器以及ORM模型的简单介绍...
- mybatis数据库数据分页问题
- PYTHON得到pdf页数、遍历当前文件夹
- php繁体输出,PHP输出控制功能在简繁体转换中的应用
- linux adb工具 终极总结
- VBM后的配对t检验以及xjview使用
- 树莓派自动连接WiFi
- GPT生成情人节表白情话,AI撩骚情人卡很搞笑!
- windows文本转语音调用
热门文章
- 叮当管家显示服务器错误,叮当管家【制卡器故障】
- dvi黑屏解决方法_DVI线导致黑屏故障处理全攻略
- html5转ipk,OpenWrt更新ipk教程
- c语言五子棋中怎么设置开局,五子棋教程:指定开局
- 机器之心 Pro·AI 趋势先锋 Insight 榜单发布
- 溜客php0day挖掘,【漏洞预警】PHP7被发现三个0day漏洞,其中一个还
- 云更新网吧系统服务器,云更新网吧服务器环境要求
- 08CMS之AJAX
- 闪寸 U盘 检测工具 量产工具
- java ws_java / javaw / javaws之间的区别