LQR控制

本文介绍了LQR(线性二次型调节器)的基本概念,包括状态方程、控制器设计和离散化方法。通过建立代价函数和求解K矩阵,阐述了如何在连续系统和离散系统中应用LQR进行反馈控制,并给出了计算流程和示例。
摘要由CSDN通过智能技术生成

LQR

1.概念

LQR是线性二次型调节器 Linear Quadratic Regulator。

公式是连续的,实际使用时是离散的。

2.公式推倒

系统方程
  x ˙ = A x + B u   \ {\dot x} = Ax + Bu\  x˙=Ax+Bu 


离散方法:
x ( t + 1 ) = x ( t ) + A ζ x(t+1) = x(t) + A\zeta x(t+1)=x(t)+Aζ
向前欧拉法
x ( t + 1 ) = ( I + A ) x ( t ) x(t+1) = (I + A)x(t) x(t+1)=(I+A)x(t)
向后欧拉法
x ( t + 1 ) = ( I − A ) − 1 x ( t ) x(t+1) = (I-A)^{-1}x(t) x(t+1)=(IA)1x(t)
中间欧拉法
x ( t + 1 ) = ( I − A / 2 ) − 1 ( I + A / 2 ) x ( t ) x(t+1) = (I-A/2)^{-1}(I+A/2)x(t) x(t+1)=(IA/2)1(I+A/2)x(t)


设计一个线性反馈控制器
  u = − K x   \ u = -Kx \  u=Kx 
代价函数
  J = x T Q x + u T R u   \ J = x^TQx + u^TRu \  J=xTQx+uTRu 
其中 Q Q Q R R R是权重矩阵,人为设定。
需要求解
K K K
求解方式
K = R − 1 B T P K = R^{-1}B^TP K=R1BTP
离散
K = ( R + B T P B ) − 1 B T P A K = (R + B^TPB)^{-1}B^TPA K=(R+BTPB)1BTPA
其中
A T P + P A + Q = P B R − 1 B T P A^TP + PA + Q = PBR^{-1}B^TP ATP+PA+Q=PBR1BTP
离散
P = A T P A − A T P B ( R + B T P B ) − 1 B T P A + Q P = A^TPA - A^TPB(R + B^TPB)^{-1}B^TPA+Q P=ATPAATPB(R+BTPB)1BTPA+Q
其中,P的初值可为Q。
P i n i t = Q P_{init} = Q Pinit=Q

3.示例及流程

0.写出状态方程

1.写出矩阵A

2.写出矩阵B

3.计算误差

4.计算离散矩阵 A d , B d A_d, B_d Ad,Bd

A d = ( I − A / 2 ∗ d t ) − 1 ( I + A / 2 ∗ d t ) A_d = (I-A/2*dt)^{-1}(I+A/2*dt) Ad=(IA/2dt)1(I+A/2dt)
B d = ( I − A / 2 ∗ d t ) B ∗ d t B_d = (I- A/2*dt)B*dt Bd=(IA/2dt)Bdt
式中, d t dt dt是控制周期,较小,例如0.001,故通常省略 B d B_d Bd中的 ( I − A / 2 ∗ d t ) (I- A/2*dt) (IA/2dt),得到:
B d = B ∗ d t B_d = B*dt Bd=Bdt

5.求解LQR矩阵,计算得到K

P = Q
P n e x t = A T P A − A T P B ( R + B T P B ) − 1 B T P A + Q P_{next} = A^TPA - A^TPB(R + B^TPB)^{-1}B^TPA+Q Pnext=ATPAATPB(R+BTPB)1BTPA+Q
i f ( P − P n e x t ) < e if(P - P_{next}) < e if(PPnext)<e
b r e a k break break

6.计算反馈 u = − K x u = -Kx u=Kx

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值