4. LQR最小二次型 5. 专家PID

本文介绍了LQR最小二次型和专家PID算法。LQR最小二次型可配置反馈矩阵K,使闭环系统极点达满意状态,通过求解Riccati方程计算K。专家PID结合专家经验与PID控制算法,对系统进行分段式控制,依据偏差情况调整控制作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

4. LQR最小二次型

4.1 定义

泛函:表达式对函数的约束,例如 F ( x ) + G ( y ) = 1 F(x)+G(y)=1 F(x)+G(y)=1即表示一类能满足该表达式的函数,好似函数表达式之于数

明确概念:LQR最小二次型是帮助我们配置反馈矩阵 K K K,使闭环系统的极点达到满意的状态,最后使系统满足要求的方法

全状态反馈控制图如下,有
u = − K x u=-Kx u=Kx
使得闭环系统能满足期望性能,则系统状态方程为
x ˙ = ( A − B K ) x = A c x \dot{x}=(A-BK)x=A_cx x˙=ABK)x=Acx
全状态反馈控制系统图形

对于线性时变系统的状态空间的描述为
x ( t ) ˙ = A x ( t ) + B u ( t ) y ( t ) = C x ( t ) x ( t 0 ) = x 0 \dot{x(t)}=Ax(t)+Bu(t)\\ y(t)=Cx(t)\\ x(t_0)=x_0 x(t)˙=Ax(t)+Bu(t)y(t)=Cx(t)x(t0)=x0
式中 x 、 u 、 y x、u、y xuy分别为矢量, A A A为状态矩阵, B B B为控制矩阵, C C C为输出矩阵,定义其性能泛函(不考虑终端)为
J = 1 2 ∫ t 0 t f x T Q x + u T R u d t J=\frac{1}{2}\int_{t_0}^{t_f}x^TQx+u^TRu\quad dt J=21t0tfxTQx+uTRudt
式中 x x x是被控对象, u u u是控制量, Q Q Q是自己设计的半正定矩阵(即 x x x的权重),R是正定矩阵( u u u的权重)。

Q:性能指标函数对于状态量的权阵,为对角阵,元素越大,意味着该变量在性能函数中越重要。要求性能函数求最小,也就是说该状态的约束要求高。

R:控制量的权重,对角阵,同样,对应的元素越大,这意味着,控制约束越大。


假设 x x x是一维的,那 x T Q x = Q x 2 x^TQx=Qx^2 xTQx=Qx2 u T R u u^TRu uTRu同理,我们要求系统稳定,即状态向量 x x x y y y尽可能小, u u u作为控制量,较小的值意味着用小的控制代价得到了最优的控制。故系统参数设定的目标是使能量函数 J J J尽可能小。[^3]

代入 u = − K x u=-Kx u=Kx
J = 1 2 ∫ 0 ∞ x T ( Q + K T R K ) x d t J=\frac{1}{2}\int_{0}^{\infty}x^T(Q+K^TRK)x\quad dt J=210xT(Q+KTRK)xdt
为了找到K,我们先不防假设存在一个常量矩阵P使得:

img

代入得:

img

注意,我们已经假设闭环系统是稳定的,也就是t趋于无穷时,x(t)趋于0.

现在把左边的微分展开,并把状态变量x的微分用 x ˙ = ( A − B K ) x = A c x \dot{x}=(A-BK)x=A_cx x˙=ABK)x=Acx替代得到:

img

这个式子要始终成立的话,括号里的项必须恒等于0.

img

这是一个关于K的二次型等式,当然这个二次型是我们不愿看到的,因为计算复杂。现在只要这个等式成立,我们何必不选择K使得两个二次项正好约掉了呢?这样既符合了要求,又简化了计算。

img代入上式得:

img

其中 A A A为状态矩阵, B B B为控制矩阵(u的增益), Q 、 R Q、R QR分别是两个权重, P P P是我们假设的一个量,P只要使得的上式成立就行了,上式在现代控制理论中极其重要,它就是有名的Riccati 方程。1

现在回过头总结下LQR控制器是怎么计算反馈矩阵K的:

1.选择参数矩阵Q,R

2.求解Riccati 方程得到矩阵P

3.计算
img
结构图如下
img

5. 专家PID

专家PID说白了就是利用专家系统,在控制过程中调用事先整理好的由专家累积下来的工作经验,对系统进行分段式控制。控制系统的好坏主要取决于专家的经验。

5.1 前导知识

  1. 离散系统

    实际工程上我们采样得到的信号往往不是连续信号,而是通过计算机将若干离散信号转化而成的信号。计算机控制系统控制的是数字信号,即离散系统。类比连续系统中的微分方程,在离散系统中我们得到的是差分方程,线性常系数差分方程表达式如下
    y ( k T ) + . . . + a n y ( k T − n T ) = b 0 u ( k T ) + . . . + b m u ( k T − m T ) y(kT)+...+a_ny(kT-nT)=b_0u(kT)+...+b_mu(kT-mT) y(kT)+...+any(kTnT)=b0u(kT)+...+bmu(kTmT)
    其中 T T T为采样频率, k k k为对应的第 k k k个采样点, y ( k T ) y(kT) y(kT)即第 k k k个采样点的输出值, u ( k T ) u(kT) u(kT)即第 k k k个采样点的输入值。

    上式的含义可以理解为:第 k k k个采样点的输出值 y ( k T ) y(kT) y(kT)由该点往前的第 k − 1 k-1 k1到第 k − n k-n kn个采样点的输出值决定,同时还由该点的输入值 u ( k T ) u(kT) u(kT)以及从该点往前的第 k − 1 k-1 k1到第 k − m k-m km个采样点的输出值决定。通过上式,计算机系统可以用迭代的方式求解下一采样点的输出值。[^1]

  2. Z变换

    类比连续系统中的S变换(拉普拉斯变换)求解微分方程,离散系统中同样存在类似的Z变换,可以通过Z变换求解差分方程。

    其变换方式暂且不谈,我们只需要通过一个例子了解Z变换

    有差分方程
    y ( k T + 2 T ) + 4 y ( k T + T ) + 3 y ( k T ) = u ( k T ) y(kT+2T)+4y(kT+T)+3y(kT)=u(kT) y(kT+2T)+4y(kT+T)+3y(kT)=u(kT)
    两端求Z变换,得到
    z 2 Y ( z ) − z 2 y ( 0 ) − z y ( T ) + 4 z Y ( T ) − 4 z y ( 0 ) + 3 Y ( z ) = U ( z ) z^2Y(z)-z^2y(0)-zy(T)+4zY(T)-4zy(0)+3Y(z)=U(z) z2Y(z)z2y(0)zy(T)+4zY(T)4zy(0)+3Y(z)=U(z)
    在零初始条件时,可以得到系统的脉冲传递函数
    G ( z ) = Y ( z ) U ( z ) = 1 z 2 + 4 z − 3 G(z)=\frac{Y(z)}{U(z)}=\frac{1}{z^2+4z-3} G(z)=U(z)Y(z)=z2+4z31
    同样的,当我们得知线性离散系统的脉冲函数时,我们就能反过来得到系统的差分方程。例如
    G ( z ) = z 2 + 3 z + 1 z 3 + 2 z 2 + 5 z + 2 = z − 1 + 3 z − 2 + z − 3 1 + 2 z − 1 + 5 z − 2 + 2 z − 3 = Y ( z ) U ( z ) G(z)=\frac{z^2+3z+1}{z^3+2z^2+5z+2}=\frac{z^{-1}+3z^{-2+z^{-3}}}{1+2z^{-1}+5z^{-2}+2z^{-3}}=\frac{Y(z)}{U(z)} G(z)=z3+2z2+5z+2z2+3z+1=1+2z1+5z2+2z3z1+3z2+z3=U(z)Y(z)
    可得
    Y ( z ) ( 1 + 2 z − 1 + 5 z − 2 + 2 z − 3 ) = U ( z ) ( z − 1 + 3 z − 2 + z − 3 ) Y(z)(1+2z^{-1}+5z^{-2}+2z^{-3})=U(z)(z^{-1}+3z^{-2}+z^{-3}) Y(z)(1+2z1+5z2+2z3)=U(z)(z1+3z2+z3)

    Z反变换可得
    y ( k T ) + 2 y ( k T − T ) + 5 y ( k T − 2 T ) + 2 y ( k T − 3 T ) = u ( k T − T ) + 3 u ( k T − 3 T ) y(kT)+2y(kT-T)+5y(kT-2T)+2y(kT-3T)=u(kT-T)+3u(kT-3T) y(kT)+2y(kTT)+5y(kT2T)+2y(kT3T)=u(kTT)+3u(kT3T)

5.2 专家PID原理

专家PID其实就是专家经验和PID控制算法的结合,利用专家经验设计PID参数。23我们将系统离散化,假设第k个采样点的偏差为 e ( k ) e(k) e(k),前一个采样点偏差为 e ( k − 1 ) e(k-1) e(k1),两次偏差的增量为
Δ e ( k ) = e ( k ) − e ( k − 1 ) Δ e ( k − 1 ) = e ( k − 1 ) − e ( k − 2 ) Δe(k)=e(k)-e(k-1)\\ Δe(k-1)=e(k-1)-e(k-2) Δe(k)=e(k)e(k1)Δe(k1)=e(k1)e(k2)
设定偏差的判断标准为 M m a x M_{max} Mmax M m i d M_{mid} Mmid分为以下几种情况:

  1. ∣ e ( k ) ∣ > M m a x |e(k)|>M_{max} e(k)>Mmax

    偏差值很大,我们应该让控制器的输入最大/最小,让偏差绝对值以最快的速度减小,令 u = 常 数 u=常数 u=

  2. e ( k ) ∗ Δ e ( k ) > 0 e(k)*Δe(k)>0 e(k)Δe(k)>0或者 Δ e ( k ) = 0 Δe(k)=0 Δe(k)=0

    这种情况说明偏差在朝向偏差绝对值增大的方向变化,或者偏差为某一固定值,此时我们再判断偏差的绝对值与偏差的中间值 M m i d M_{mid} Mmid之间的关系。

    1. 此时如果 ∣ e ( k ) ∣ > M m i d |e(k)|>M_{mid} e(k)>Mmid

      说明偏差也较大,可考虑由控制器实施较强的控制作用,以达到扭转偏差绝对值向减小的方向变化,并迅速减小偏差的绝对值。

      u(k)=u(k-1)+k_{1}*\left {k_{p}*[e(k)-e(k-1)]+k_{i}*e(k)+k_{d}*[e(k)-2e(k-1)+e(k-2)] \right }

    2. 此时如果 ∣ e ( k ) ∣ < M m i d |e(k)|<M_{mid} e(k)<Mmid

      说明尽管偏差是向绝对值增大的方向变化,但是偏差绝对值本身并不是很大,可以考虑控制器实施一般的控制作用,只需要扭转偏差的变化趋势,使其向偏差绝对值减小的方向变化即可。

      u(k)=u(k-1)+k_{p}*[e(k)-e(k-1)]+k_{i}*e(k)+k_{d}*[e(k)-2e(k-1)+e(k-2)]

  3. e ( k ) ∗ Δ e ( k ) < 0 e(k)*Δe(k)<0 e(k)Δe(k)<0 Δ e ( k ) ∗ Δ e ( k − 1 ) > 0 Δe(k)*Δe(k-1)>0 Δe(k)Δe(k1)>0或者 Δ e ( k ) = 0 Δe(k)=0 Δe(k)=0

    说明偏差的绝对值向减小的方向变化,或者已经达到平衡状态,此时保持控制器输出不变即可。

    u(k)=u(k-1)

  4. e ( k ) ∗ Δ e ( k ) < 0 e(k)*Δe(k)<0 e(k)Δe(k)<0 Δ e ( k ) ∗ Δ e ( k − 1 ) < 0 Δe(k)*Δe(k-1)<0 Δe(k)Δe(k1)<0

    说明偏差处于极限状态。

    1. 如果此时偏差的绝对值较大, ∣ e ( k ) ∣ > M m i d |e(k)|>M_{mid} e(k)>Mmid

      可以考虑实施较强控制作用。

      u(k)=u(k-1)+k_{1}k_{p}e_{k}

    2. 如果此时偏差的绝对值较小, ∣ e ( k ) ∣ < M m i d |e(k)|<M_{mid} e(k)<Mmid

      可以考虑实施较弱控制作用。

      u(k)=u(k-1)+k_{2}k_{p}e_{k}

    其中,k1为增益放大系数,k1取大于1的值;k2为增益抑制系数,取大于0而小于1的值。

  5. 如果 ∣ e ( k ) ∣ < M m i n |e(k)|<M_{min} e(k)<Mmin

    这种情况实际上说明偏差绝对值很小,这种偏差有可能是系统静差引起的,此时必须要引入积分作用,减小系统的稳态误差。

    u(k)=u(k-1)+k_{p}(e(k)-e(k-1)+k_{i}e(k)


  1. 碎步の流年.LQR控制算法推导以及简单分析[EB/OL].(2020-03-09).https://blog.youkuaiyun.com/qq_24649627/article/details/104690279. ↩︎

  2. 刘金琨. 先进PID控制MATLAB仿真[M]. 第2版. 电子工业出版社, 2004.9. ↩︎

  3. 硬核暴龙.(三)专家PID控制理论基础EB/OL.(2020-02-16).https://zhuanlan.zhihu.com/p/107021715. ↩︎

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值