大家好,又见面了,我是你们的朋友全栈君。
LQR控制器是常见的最优控制器,它的主要特点是将控制量加入到了成本函数中。
对于线性系统:
x ˙ = A x + B u \dot x = Ax+Bu x˙=Ax+Bu
设计控制器 u = − K x u = -Kx u=−Kx使得
J = 1 2 ∫ 0 ∞ x T Q x + u T R u d t J = \frac{1}{2}\int_0^\infty x^TQx+u^TRu \,dt J=21∫0∞xTQx+uTRudt
最小。其中, x T Q x x^TQx xTQx是状态部分, u T R u u^TRu uTRu是控制部分。
为了求解K,需要引入Riccati微分方程:
P A + A T P − P B R − 1 B T P + Q = 0 PA+A^TP-PBR^{-1}B^TP+Q=0 PA+ATP−PBR−1BTP+Q=0
由上式获得P后, K = R − 1 B T P K=R^{-1}B^TP K=R−1BTP
最终, J = 1 2 x ( 0 ) T P x ( 0 ) J = \frac{1}{2}x_{(0)}^TPx_{(0)} J=21x(0)TPx(0)
参考:
https://blog.csdn.net/heyijia0327/article/details/39270597
https://zhuanlan.zhihu.com/p/87070103
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/126056.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...