设为首页|收藏本站|
开启左侧

[问答] [现代控制] 六、最优控制LQR

[复制链接]
20540 0
lisyou 发表于 2022-9-4 02:10:21 | 只看该作者 打印 上一主题 下一主题
 
四足机器人近期比较热,相关的文献中经常会提到了LQR、MPC控制。自动驾驶论文中会提到MPC控制。现在让我们一起看一下优化控制的概念吧。
在经典控制理论中,欠阻尼二阶系统的阶跃响应如下图;调节系统的参数可以达到调整系统响应的目的,例如减小阻尼,可以增加系统的快速性,但是会加强系统的振荡,难有两全的方案,优化控制则可以很好的解决这个问题。
6.1 优化控制目标函数

在现代控制理论中,可以进行一个最优控制,如图阴影部分是输出的误差,我们希望积累的误差最小,也就是阴影的面积最小化,如下图

[现代控制] 六、最优控制LQR 第1张图片

例如,输出 \pmb y=C\pmb x ,利用公式表示输出误差最下, y_\infty 表示稳定输出 J=\int _{t_0}^{t_f}|\pmb y(t)-\pmb y(\infty)|dt=\int _{t_0}^{t_f}|C \pmb x(t)-C\pmb x(\infty)|dt\\
平衡系统最终都会趋近于平衡点 x_e ,之前提到过平衡点的定义 x_e = 0 , 所以有目标函数变成 J = \int _{t_0}^{t_f}\pmb x(t)^2dt\\ 目标函数选取对 \pmb x = [x_1,...,x_n] 的各个状态分量比重都不一样,给每个分量加个系数 J = \int _{t_0}^{t_f}\pmb x(t)^2dt\rightarrow \int _{t_0}^{t_f}[q_1x_1^2+q_2x_2^2+...+q_nx_n^2]dt\\ =\int _{t_0}^{t_f}[x_1,...,x_n] \left[\begin{matrix} q_1& & 0\\ & \ddots& \\ 0&&q_n  \end{matrix}\right] \left[\begin{matrix} x_1\\ \vdots\\x_n  \end{matrix}\right]dt\\ =\int _{t_0}^{t_f}X^TQXdt \\
另外,希望控制量不要太大,系统不用消耗过多的能量,在目标函数中加入控制量  J =\int _{t_0}^{t_f}[X^TQX+u^TRu]dt \\
6.2 优化任务

这样控制问题,就变成了一个优化求解问题,优化任务—— 求解控制量u,使得 J(u) 目标函数最小化,起点 X_0 ,终点X_1  J =\int _{t_0}^{t_f}L(X,u)dt \\ st : \dot X = AX+Bu\\ start: X(t_0)=X_0\\ end:X(t_1)=X_1\\
所以,求解这个带约束的优化问题,就可以求解得到控制量u,达到我们输出跟踪效果最优的目标。
6.3 线性二次型最优控制


  • 哈密顿函数
对于优化问题的一种简化形式,选择二次型作为优化目标函数,如下 J(u) = \frac 1 2 \int (X^TQX+ u^TRu)dt \\ 目标函数是状态轨迹误差平方加权和控制输入平方加权。接下来我们一起看一下如何求解问题。当有系统状态方程,如下形式 \dot X = AX + Bu,\\ X_{t_0} = X_0  \\ 由于平衡位置 \dot X_e=\pmb 0 ,加入目标二次型函数中,不会影响最终结果,构建哈密顿函数  H = \frac 1 2 X^TQX + \frac 1 2 u^TRu + \lambda^T(AX+Bu)\\ =  \frac 1 2 X^TQX + \frac 1 2 u^TRu + \lambda^TAX+\lambda^TBu\\ 那么优化目标函数用哈密顿函数H表示
J(u) = \int   {(H-\lambda^T \dot X)}dt\\
系数函数 \lambda 是构建而来的,这个系数无论怎么选择。由于 \dot X_e=\pmb 0 ,它都不会影响最终结果。此系数的选择,是为了方便后期计算中抵消一些项目,令 \dot \lambda =-\frac {\partial H}{\partial X} = \frac 1 2 (QX+Q^TX) - \lambda^TA = -QX-A^T\lambda \\
最优控制有必要条件(必要性证明见附录;充分条件的证明,可以参考书籍) \frac {\partial H}{\partial u}=Ru+B^T\lambda =0\\ 有 Ru+B^T\lambda = 0\\ u = -R^{-1}B^T\lambda \\
所以,可以通过 \lambda 来表示最优控制量u,之后就是通过黎卡提方程求解u。

  • 黎卡提方程
通过上式将u用 \lambda 代入到状态方程中 \dot X = AX-BR^{-1}B^T\lambda\\ \dot \lambda = -QX-A^T\lambda\\引入状态转换矩阵  \Phi(T,t) (在之前的章节中讲过状态转移矩阵的概念和求解方法),给定边界条件 X_{t_0} 、 \lambda(t_f) = \lambda(T)=0 ,所以就能够得到一个方程的积分形式,令初始时间为t,末端时间为T
\left[\begin{matrix}  X(T) \\  \lambda(T) \end{matrix}\right] =  \Phi(T,t)\left[\begin{matrix}  X(t) \\  \lambda(t) \end{matrix}\right]\\ =\left[\begin{matrix}\Phi_{11}&\Phi_{12} \\  \Phi_{21}&\Phi_{22}         \end{matrix}\right] \left[\begin{matrix} X(t) \\  \lambda(t) \end{matrix}\right]\\ 写成方程组的形式  X(T) = \Phi_{11} X(t) + \Phi_{12} \lambda(t)\\ \lambda(T) = \Phi_{21} X(t) + \Phi_{22} \lambda(t)\\ 由于给定了边界条件,末端时刻  \lambda(T)=0  ,所以有  0 = \Phi_{21} X(t) + \Phi_{22} \lambda(t)\\  \Phi_{21} X(t) =- \Phi_{22} \lambda(t)\\   \lambda(t) = - \Phi_{22}^{-1}\Phi_{21} X(t) \\   令 P(t) = - \Phi_{22}^{-1}\Phi_{21} ,则有   \lambda(t) = P(t) X(t) \\ 代入边界条件   \lambda(T) = P(T) X(T) = 0  \\ 由于控制系统要求对任意状态都有效,所以状态量不会恒等于零 X(T) \neq 0 ,则有   P(T)=0\\
最后,最优控制可以写成,如下图  u = -R^{-1}B^T\lambda = -R^{-1}B^TPX\\ K(t) =-R^{-1}B^TP\\
控制框图如下

[现代控制] 六、最优控制LQR 第2张图片

如果按照上式进行最优控制,那么得到的最优轨迹线 X^*(t) ,有 \dot X = AX - BR^{-1}B^TPX = (A - BR^{-1}B^TP)X \\ X(t_0) = X_0\\ 如果知道 P(X) ,上式可以求解,所以剩下的问题是如何求解P,其定义如下 \lambda = PX\\ 进行求导 \\ \dot \lambda =\dot P X +P \dot X\\ 由于之前定义了 \dot \lambda = \frac {\partial H}{\partial X}\\ 所以有 \dot \lambda =-QX-A^T\lambda = -QX-A^TPX=-(Q+A^TP)X\\ =\dot P X + P \dot X = \dot P X + P(A-BR^{-1}B^TP)X\\ 由于对于任意 X 都成立,则必有 -Q-A^TP = \dot P +  P(A-BR^{-1}B^TP)\\ 又有末端条件 P(T) = 0\\ 这也是经常看到的黎卡提方程,通过解方程,能够得到P,从而可以计算出系统最优控制量u和系统最优状态轨迹 X^* 。
6.4 一维状态方程中的例子

以一个简单的一维方程为例,来了解最优控制如何实施 \dot x = a x  + u\\ x(0) = x_0\\ 目标函数  J(u) = \frac 1 2 \int _{0}^{T} (qx^2 + ru^2)dt,\\ q,r>0\\ 套用上一节的公式,最优控制 u^* = -R^{-1}BPX=-\frac 1 r px\\ 通过构建黎卡提方程,可以求解p \dot P = -PA - A^TP+PR^{-1}P-Q=\\ =-pa-ap+\frac 1 r p^2 -q \\ p(T) =0 \\ 装换成如下积分形式 \frac {dp} {\frac {p^2}{r} -2ap+q} = dt\\ \int _{p(t)}^{p(T)}{\frac {dp} {\frac {p^2}{r} -2ap+q} = T-t}\\ 套用积分公式 \frac {du} {{cu^2} +bu+a} = \frac  {1}{\sqrt {b^2-4ac}}ln(\frac {2cu-b-\sqrt{b^2-4ac}}{2cu+b+sqrt{b^2-4ac}})+m\\
则可以得到 p(t) = \frac {r(a-w)(1-e^{2w(T-t})}{1-\frac{a-w}{a+w}e^{2w(T-t)}}, w=\sqrt{a^2+q/r}\\
最优控制 u^* = - px/r ,代入状态方程,通过积分可以求解x了,这里就省略了。我们可以看到控制量u与我们选取的系数q、r有关,所以也称之为LQR控制。
附 哈密顿函数和最优控制理论

优化目标函数有,  J =\int _{t_0}^{t_f}L[X,u]dt \\
状态方程如下,可以看作优化问题的约束 \dot X = AX+Bu\\ -\dot X +AX + Bu = 0\\ 引入系数函数 \lambda(t) ,  \lambda (-\dot X +AX + Bu) = 0\\
由于上式恒等于零,将其代入目标函数也不会影响结果,反而可以抵消一些项目,使运算简化
J =\int _{t_0}^{t_f}[L(X,u)+ \lambda^T(AX+Bu) -\lambda^T\dot x  ]dt \\
引入哈密顿函数 H=L(X,u) + \lambda^T(AX+Bu)\\ 代入目标函数,简化有, J(u) = \int   {(H-\lambda^T \dot X)}dt\\ 当有最优控制量 u^* 时, J(u^*) 最小、达到最优 J(u) -J(u^*)= \int   {(H-H^*)}dt-\int   {\lambda^T (\dot X- \dot X^*)}dt\\ 对哈密顿函数进行泰勒展开, X = X^*+e\varphi(t) \dot X - \dot X^* = e \varphi(t) ,则有  H = H(X^* + e\varphi(t),\lambda,u^*+e\eta(t) )\\ =H^* + \frac {\partial H}{\partial X}e\varphi +  \frac {\partial H}{\partial u}e\eta + O(\varepsilon)\\ 略去高阶项 H-H^* = \frac {\partial H}{\partial X}e\varphi+\frac {\partial H}{\partial u}e\eta\\ 对目标函数第一项进行积分,利用积分公式  \int {(\lambda ^T(\dot X - \dot X^*))}dt = \int \lambda^Te\dot {\varphi}dt\\ =e(\lambda^T(t)\varphi(t))|_{t_0}^{t_f}-e\int _{t_0}^{t_f} \dot{\lambda^T\varphi}dt\\ =e(\lambda^T(t_f)\varphi(t_f))-e(\lambda^T(t_0)\varphi(t_0))-e\int _{t_0}^{t_f} \dot{\lambda^T\varphi}dt\\
代入目标函数中,则有  J(u) - J(u^*) = \int (\frac {\partial H}{\partial X}e\phi + \dot {\lambda}^T e\phi     )dt+\int{\frac {\partial H }{\partial u}e\eta}dt  - e(\lambda^T(t_f)\varphi(t_f))+e(\lambda^T(t_0)\varphi(t_0))\\
之前提到 \lambda 随机构建也不会影响结果,这里为了计算简便,选取
\dot{\lambda}^T(t)=-\frac{\partial H}{\partial X},\lambda^T(t_f)=0\\
目标函数,则可以简化为  J(u)-J(u^*) = e\int{\frac {\partial H}{\partial u}\eta dt}\\
e 是一个很小的系数,可正可负,  \eta  是扰动函数,上式子要对一切的 e 和  \eta  都大于零(注:由于  J(u^*)  最优),那么只有 \frac {\partial H}{\partial u}=0\\
系统能够达到最优。

赠人玫瑰手留余香!点个赞啦!


上一篇:莆田考驾照注意了!!!小心驾校跑路!!!!
下一篇:最全攻略!北京2022年最新购房相关政策信息汇总,吐血整理 ...
@



1.西兔生活网 CTLIVES 内容全部来自网络;
2.版权归原网站或原作者所有;
3.内容与本站立场无关;
4.若涉及侵权或有疑义,请点击“举报”按钮,其他联系方式或无法及时处理。
 
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

排行榜
活跃网友
返回顶部快速回复上一主题下一主题返回列表APP下载手机访问
Copyright © 2016-2028 CTLIVES.COM All Rights Reserved.  西兔生活网  小黑屋| GMT+8, 2024-4-30 09:07