Control Adaptativo——Experimento de Simulación 1 Usando la Teoría de Estabilidad de Lyapunov para Diseñar Leyes Adaptativas

Control Adaptativo——Experimento de Simulación 1 Usando la Teoría de Estabilidad de Lyapunov para Diseñar Leyes Adaptativas

1. Descripción del problema

Sea la ecuación de estado del objeto de control
x ˙ p = A p ( t ) xp + bp ( t ) u (1) \dot{\boldsymbol{x}}_{p}=\boldsymbol{A}_{p }(t) x_{p}+\boldsymbol{b}_{p}(t) u \tag{1}X˙pag=Apag( t ) xpag+bpag( t ) tu( 1 )
式中
A p = [ 0 1 − 6 − 7 ] , pb = [ 2 4 ] (2) \boldsymbol{A}_{p}=\left[\begin{array}{cc} 0 & 1 \\ -6 & -7 \end{matriz}\right], \quad \boldsymbol{b}_{p}=\left[\begin{matriz}{l} 2 \\ 4 \end{matriz}\right ] \etiqueta{2}Apag=[0 61 7],bpag=[24]( 2 )
La ecuación de estado del modelo de referencia es
x ˙ m = A mxm + bmr (3) \dot{\boldsymbol{x}}_{m}=\boldsymbol{A}_{m} x_{m}+ \boldsymbol {b}_{m} r \tag{3}X˙m=AmXm+bmr( 3 )
式中
A metro = [ 0 1 − 10 − 5 ] , bm = [ 1 2 ] (4) \boldsymbol{A}_{m}=\left[\begin{array}{cc} 0 & 1 \\ -10 & -5 \end{matriz}\right], \quad \boldsymbol{b}_{m}=\left[\begin{matriz}{l} 1 \\ 2 \end{matriz}\right ] \etiqueta{4}Am=[0 101 5],bm=[12]( 4 )
diseñar la ley adaptativa con la teoría de la estabilidad de Lyapunov

2. Modelado de problemas

Debido a los parámetros del objeto de control (matriz de estado A p \boldsymbol{A}_{p}ApagY matriz de control bp \boldsymbol{b}_{p}bpag) generalmente se desconoce y no se puede ajustar directamente. Por lo tanto, para cambiar las características dinámicas del objeto de control, es necesario adoptar el control anticipativo más el control de retroalimentación.

señal de control uuu está determinado por la señal de avanceK r KrKr y señal de realimentaciónF xp Fx_pF xpagComposición, concretamente
u = K r + F xp (5) u=K r+F \boldsymbol{x}_{p} \tag{5}tu=kr+F xpag
En la fórmula ( 5 ) , rrr esmmvector de entrada m- dimensional,xp \boldsymbol{x}_{p}Xpagpara nnvector de estado n- dimensional,KKKm × mm \times mmetro×matriz de ganancia realimentada m , FFFm × nm \times nmetro×n matriz de ganancia de retroalimentación; específicamente en este experimento de simulación, la dimensión del vector de entradam = 1 m=1metro=1 , dimensión del vector de estadon = 2 n=2norte=2 _

Sustituyendo la fórmula (5) en la ecuación de estado del objeto de control, podemos obtener
x ˙ p = [ A p ( t ) + bp ( t ) F ] xp + bp ( t ) K r (6) \dot{\boldsymbol {x} }_{p}=\left[\boldsymbol{A}_{p}(t)+\boldsymbol{b}_{p}(t) F\right] \boldsymbol{x}_{p} +\boldsymbol {b}_{p}(t) K r \tag{6}X˙pag=[ unpag( t )+bpag( t ) F ]Xpag+bpag( t ) Cr( 6 )
Sea el vector de error de estado generalizado del sistema
e = xm − xp (7) \boldsymbol{e}=\boldsymbol{x}_{m}-\boldsymbol{x}_{p} \tag{7 }mi=XmXpag( 7 )
De la ecuación de estado del modelo de referencia, combinada con las fórmulas (6) y (7), se puede obtener:
e ˙ = A me + ( A m − A p − bp F ) xp + ( bm − pb K ) r ( 8) \dot{\boldsymbol{e}}=\boldsymbol{A}_{m} \boldsymbol{e}+\left(\boldsymbol{A}_{m}-\boldsymbol{A} _{p}- \boldsymbol{b}_{p} F\right) \boldsymbol{x}_{p}+\left(\boldsymbol{b}_{m}-\boldsymbol{b}_{p} K\right) r \tag{8}mi˙=Ammi+( UnmApagbpagf )Xpag+( segundombpagk )r( 8 )
En una situación ideal, es decir,e → 0 e \rightarrow 0miEn el caso de 0 , los dos últimos elementos del lado derecho del signo igual en (8) deben ser iguales a 0. Establece la matriz de ganancia feed-forwardKKK y matriz de ganancia de retroalimentaciónFFLos valores ideales de F son respectivamenteK ˉ \bar{K}kˉ yF ˉ \bar{F}Fˉ

Entonces, la fórmula (8) finalmente se puede escribir como
e ˙ = A me + bm K ˉ − 1 Φ xp + bm K ˉ − 1 Ψ r (9) \dot{\boldsymbol{e}}=\boldsymbol{A}_ { m} \boldsymbol{e}+\boldsymbol{b}_{m} \bar{K}^{-1} \Phi \boldsymbol{x}_{p}+\boldsymbol{b}_{m} \ barra {K}^{-1} \Psi r \tag{9}mi˙=Ammi+bmkˉ1 Φxpag+bmkˉ1 Ψr
En la fórmula ( 9 ) , Φ = F ˉ − F \Phi=\bar{F}-FFi=FˉFm × nm \times nmetro×n matriz,Ψ = K ˉ − K \Psi=\bar{K}-KPD=kˉKm × mm \times mmetro×m -matriz.

Seleccione la función de Lyapunov como:
V = 1 2 [ e TP e + tr ⁡ ( Φ T Γ 1 − 1 Φ + Ψ T Γ 2 − 1 Ψ ) ] (10) V=\frac{1}{2}\ left [\boldsymbol{e}^{T} \boldsymbol{P} \boldsymbol{e}+\operatorname{tr}\left(\Phi^{T} \Gamma_{1}^{-1} \Phi+\Psi ^ {T} \Gamma_{2}^{-1} \Psi\right)\right] \tag{10}V=21[ miT Pe+tr( FTG _1 1Fi+PDTG _2 1pag ) ]
En la fórmula ( 10 ) , P \boldsymbol{P}P esn × nn \times nnorte×matriz simétrica definida positiva n- dimensional,Γ 1 \Gamma_{1}C1y Γ 2 \Gamma_{2}C2Ambos son m × mm \times mmetro×m -matriz simétrica definida positiva dimensional, símbolotr ⁡ \operatorname{tr}tr representa la traza de la matriz.

Si (10) está en el continuo, entonces
V ̇ = 1 2 [ e ̇ P e + e TP e ̇ + tr ⁡ ( Φ ̇ T Γ 1 − 1 Φ + Φ T Γ 1 − 1 Φ ̇ + Ψ ̇ T Γ 2 − 1 Ψ + Ψ T Γ 2 − 1 Ψ ̇ ) ] (11) \dot{V}=\frac{1}{2}\left[\dot{\símbolo de bola{e}} \símbolo de bola{ P } \ballsymbol{e}+\ballsymbol{e}^{T} \ballsymbol{P} \dot{\ballsymbol{e}}+\operatorname{tr}\left(\dot{\Phi}^{T} \ Gamma_{1}^{-1} \Phi+\Phi^{T} \Gamma_{1}^{-1} \dot{\Phi}+\dot{\Psi}^{T} \Gamma_{2} ^ {-1} \Psi+\Psi^{T}\Gamma_{2}^{-1}\dot{\Psi}\right)\right] \tag{11}V˙=21[mi˙ Pmi+miTP _mi˙+tr(Fi˙TG _1 1Fi+FiTG _1 1Fi˙+PD˙TG _2 1PD+PDTG _2 1PD˙ )]( 11 )
Sustituya la ecuación (9) en la ecuación (11), y luego de acuerdo con las propiedades de la traza de la matriz,
V ˙ = 1 2 e T ( PA m + A m TP ) e + tr ⁡ ( Φ ˙ T Γ 1 − 1 Φ + xpe TP bm K ˉ − 1 Φ ) + tr ⁡ ( Ψ ˙ T Γ 2 − 1 Ψ + re TP bm K ˉ − 1 Ψ ) (12) \begin{alineado} \dot{V}=& \frac {1}{2} \boldsymbol{e}^{T}\left(\boldsymbol{P} \boldsymbol{A}_{m}+\boldsymbol{A}_{m}^{\boldsymbol{T }} \boldsymbol{P}\right) \boldsymbol{e}+\operatorname{tr}\left(\dot{\Phi}^{T} \Gamma_{1}^{-1} \Phi+\boldsymbol{x }_ {p} \boldsymbol{e}^{T} \boldsymbol{P} \boldsymbol{b}_{m} \bar{K}^{-1} \Phi\right) \\ &+\operatorname{ tr} \left(\dot{\Psi}^{T} \Gamma_{2}^{-1} \Psi+r \boldsymbol{e}^{T} \boldsymbol{P} \boldsymbol{b}_{ m} \bar{K}^{-1} \Psi\right) \end{alineado} \tag{12}V˙=21miT( PA _m+AmetroTpag )mi+tr(Fi˙TG _1 1Fi+XpagmiT Pbmkˉ1 Φ)+tr(PD˙TG _2 1PD+re _T Pbmkˉ1 Ψ).( 12 )
Para satisfacer el segundo método de Lyapunov, es necesario asegurarse de que la fórmula (12) sea definida negativa, y la situación correspondiente es que el primer término de la fórmula (12) sea definido negativo, y los dos últimos términos sean ambos cero.

Porque A m \boldsymbol{A}_{m}Ames una matriz estable, la matriz simétrica definida positiva QQ se puede seleccionarQ,使PA m + A m TP = − Q \boldsymbol{P} \boldsymbol{A}_{m}+\boldsymbol{A}_{m}^{\boldsymbol{T}} \boldsymbol{P}= -\boldsymbol{Q}PA _m+AmetroTPAG=Q se establece. Al mismo tiempo, de acuerdo con la situación correspondiente anterior,Φ \PhiΦΨ \PsiΨ的选择如下:
Φ ˙ = − Γ 1 ( bm K ˉ − 1 ) TP exp T Ψ ˙ = − Γ 2 ( bm K ˉ − 1 ) TP er T (13) \begin{alineado} \dot{\Phi }&=-\Gamma_{1}\left(\boldsymbol{b}_{m} \bar{K}^{-1}\right)^{T} \boldsymbol{P} \boldsymbol{e} \boldsymbol {x}_{p}^{T} \\ \dot{\Psi}&=-\Gamma_{2}\left(\boldsymbol{b}_{m} \bar{K}^{-1}\ derecha)^{T} \boldsymbol{P} \boldsymbol{e} r^{T} \end{alineado} \tag{13}Fi˙PD˙=-C _1( segundomkˉ1 )TPe x _pagT=-C _2( segundomkˉ1 )Tpor _ _T( 13 )
A p \boldsymbol{A}_{p}Apagy pb \boldsymbol{b}_{p}bpagCuando es un valor constante o cambia lentamente, se puede obtener la ley de regulación adaptativa:
F ( t ) = ∫ 0 t Γ 1 ( bm K ˉ − 1 ) TP exp T d τ + F ( 0 ) K ( t ) = ∫ 0 t Γ 2 ( bm K ˉ − 1 ) TP erd τ + K ( 0 ) (14) \begin{aligned} F(t)&=\int_{0}^{t} \Gamma_{1}\left( \boldsymbol {b}_{m} \bar{K}^{-1}\right)^{T} \boldsymbol{P e} \boldsymbol{x}_{p}^{T} d \tau+F (0) \\ K(t)&=\int_{0}^{t} \Gamma_{2}\left(\boldsymbol{b}_{m} \bar{K}^{-1}\right) ^{ T} \boldsymbol{P e} rd \tau+K(0) \end{alineado} \tag{14}F ( t )K ( t )=0tC1( segundomkˉ1 )TPe xpagTd τ+F ( 0 )=0tC2( segundomkˉ1 )TPer dτ_+k ( 0 )( 14 )
Lo que debe agregarse es que la ley de ajuste autoadaptativa derivada de los pasos anteriores requierexp \boldsymbol{x}_{p}Xpagcon rrr es linealmente independiente. La condición para que los dos sean independientes esr ( t ) r(t)r ( t ) es una señal de onda cuadrada con una cierta frecuencia oqqUna señal continua por partes compuesta por q señales sinusoidales de diferentes frecuencias, dondeq > n / 2 q>n / 2q>n /2q > ( n − 1 ) / 2 q>(n-1) / 2q>( n1 ) /2

3. Resolución de problemas

De la derivación anterior, se puede ver que para adoptar la teoría de la estabilidad de Lyapunov para diseñar el MRACS, es necesario introducir la matriz de ganancia de avance KKK y matriz de ganancia de retroalimentaciónFFF , el objetivo del diseño es determinarKKK yFFcoeficiente F.

Después de introducir dos matrices de ganancia para el control adaptativo, la ecuación de estado del sistema ajustable se convierte en:
x ˙ p = [ A p ( t ) + bp ( t ) F ] xp + bp ( t ) K r (15) \ dot{\ boldsymbol{x}}_{p}=\left[\boldsymbol{A}_{p}(t)+\boldsymbol{b}_{p}(t) F\right] \boldsymbol{x}_{p }+\boldsymbol{b}_{p}(t) K r \tag{15}X˙pag=[ unpag( t )+bpag( t ) F ]Xpag+bpag( t ) Cr( 15 )
De acuerdo con la derivación anterior,bm K ˉ − 1 \boldsymbol{b}_{m} \bar{K}^{-1}bmkˉ1 ypb \boldsymbol{b}_{p}bpagLa relación es la siguiente:
bm K ˉ − 1 = pb = [ 2 4 ] (16) \boldsymbol{b}_{m} \bar{K}^{-1}=\boldsymbol{b}_{p} =\boldsymbol{b}_{p}=\ izquierda[\begin{array}{l} 2 \\ 4 \end{array}\right] \tag{16}bmkˉ1=bpag=[24]( 16 )
Seleccione parte de los parámetros adaptativos en la fórmula (14) como sigue:
P = [ 3 1 1 1 ] , Γ 1 = Γ 2 = 1 (17) \boldsymbol{P}=\left[\begin{array} { ll} 3 y 1 \\ 1 y 1 \end{matriz}\right], \quad \Gamma_{1}=\Gamma_{2}=1 \tag{17}PAG=[3111],C1=C2=117 _ _
_
_ ] [ 3 1 1 1 ] erd τ + K ( 0 ) (18) \begin{aligned} F(t)&=\int_{0}^{t}\left[\begin{array}{ll} 2 & 4 \end{matriz}\right]\left[\begin{matriz}{ll} 3 & 1 \\ 1 & 1 \end{matriz}\right] \boldsymbol{e} \boldsymbol{x}_{p} ^{T} d \tau+F(0) \\ K(t)&=\int_{0}^{t}\left[\begin{array}{ll} 2 & 4 \end{array}\right ]\left[\begin{array}{ll} 3 & 1 \\ 1 & 1 \end{array}\right] \boldsymbol{erd} \tau+K(0) \end{alineado} \tag{18}F ( t )K ( t )=0t[24][3111]e xpagTd τ+F ( 0 )=0t[24][3111]tierra _+k ( 0 )Según ( 18 )
, la ley adaptativa continua anterior se discretiza y se utiliza en experimentos de simulación numérica reales. Deje que el tamaño del paso de integración numérica seahhh , el vector de estado del modelo de referencia y el vector de estado del objeto de control en cada momento son los siguientes:
xm ( k + 1 ) = xm ( k ) + h [ A m ( k ) xm ( k ) + B m ( k ) r ( k ) ] xp ( k + 1 ) = xp ( k ) + h [ UN pags ( k ) xp ( k ) + segundo pags ( k ) tu ( k ) ] (19) \begin{alineado} \boldsymbol{x} _ {m}(k+1)&=\boldsymbol{x}_{m}(k)+h\left[\boldsymbol{A}_{m}(k) \boldsymbol{x}_{m}( k) +\boldsymbol{B}_{m}(k) r(k)\right] \\ \boldsymbol{x}_{p}(k+1)&=\boldsymbol{x}_{p}( k) +h\left[\boldsymbol{A}_{p}(k) \boldsymbol{x}_{p}(k)+\boldsymbol{B}_{p}(k) u(k)\right ] \ end{alineado} \tag{19}Xm( k+1 )Xpag( k+1 )=Xm( k )+h[ unm( k ) xm( k )+Bm( k ) r ( k ) ]=Xpag( k )+h[ unpag( k ) xpag( k )+Bpag( k ) tu ( k ) ]( 19 )
Debido a la ley de control adaptativo derivada anterior, se requierexp \boldsymbol{x}_{p}Xpagcon rrr es linealmente independiente, es decir,r ( t ) r(t)r ( t ) es una señal de onda cuadrada con una cierta frecuencia oqqUna señal continua por partes compuesta por q señales sinusoidales de diferentes frecuencias, dondeq > n / 2 q>n / 2q>n /2q > ( n − 1 ) / 2 q>(n-1) / 2q>( n1 ) /2 . En este experimento,n = 2 n=2norte=2 , requiere correspondientementeq > 1 q>1q>1 , por lo que en este experimento, se selecciona una señal continua por partes compuesta por 3 señales sinusoidales con diferentes frecuencias.La señal de entrada específica tiene la siguiente forma:
r ( k ) = sin ⁡ ( 0.01 π k ) + 4 sin ⁡ ( 0.2 π k ) + sin ⁡ ( π k ) (20) r(k)=\sin (0.01 \pi k)+4 \sin (0.2 \pi k)+\sin (\pi k) \tag{20}r ( k )=sen ( 0.01 πk )+4sen ( 0.2 πk )+pecado ( πk )( 20 ) la señal de control uu
introducida cuando diseñamos la ley adaptativaLa forma de discretización de u
es la siguiente: u ( k ) = K ( k ) r ( k ) + F ( k ) xp ( k ) (21) u(k)=K(k) r(k)+F( k) \boldsymbol{x}_{p}(k) \tag{21}tu ( k )=k ( k ) r ( k )+F ( k ) xpag( k )( 21 )
Finalmente, es necesario discretizar la ley adaptativa:
F ( k ) = h ⋅ ∑ j = 0 kbp TP e ( k ) ( xp ( k ) ) T + F ( 0 ) K ( k ) = h ⋅ ∑ j = 0 kbp TP e ( k ) r ( k ) + K ( 0 ) (22) \begin{aligned} F(k)&=h \cdot \sum_{j=0}^{k} \boldsymbol{ b}_{p}^{T} \boldsymbol{P} \boldsymbol{e}(k)\left(\boldsymbol{x}_{p}(k)\right)^{T}+F(0) \\ K(k)&=h \cdot \sum_{j=0}^{k} \boldsymbol{b}_{p}^{T} \boldsymbol{P} \boldsymbol{e}(k) r( k)+K(0) \end{alineado} \tag{22}F ( k )k ( k )=hj = 0kbpagTP e (k)( Xpag( k ) )T+F ( 0 )=hj = 0kbpagTP mi (k)r(k)+k ( 0 )( 22 )
Después de derivar todas las leyes adaptativas y discretizar las leyes correspondientes, MATLAB lleva a cabo los experimentos de simulación pertinentes.

Los valores del modelo de referencia y los valores ajustables del sistema de los vectores de estado bidimensionales se pueden obtener de la siguiente manera:

inserte la descripción de la imagen aquí

Figura 1. Modelo de referencia y valores del sistema sintonizable para vectores de estado

Se puede ver que el sistema sintonizable no rastrea muy bien el modelo de referencia, ya que no hay una coincidencia óptima en este ejemplo.

Apéndice: Implementación del código MATLAB

% 课本习题3.4-用李雅普诺夫稳定性理论设计自适应规律
clear, clc;
close all;

h=0.01;L=100/h;     % 数值积分步长和仿真步数
% 可调系统的系数矩阵
Ap = [0 1;-6 -7];
Bp = [2; 4];
% 参考模型的系数矩阵
Am = [0 1;-10 -5];
Bm = [1; 2];
% n为行向量维数、m为列向量维数,Bp是n*m的矩阵
n = size(Bp, 1);
m = size(Bp, 2);

P = [3 1;1 1];              % 经计算得到的用于自适应规律的正定对称矩阵

% 设定所有参数的初始值
yr0 = zeros(m, 1);
xp0 = zeros(n, 1);
xm0 = zeros(n, 1);
u0 = zeros(m, 1);
e0 = zeros(n, 1);
F0 = zeros(m, n);           % 反馈增益矩阵初始值
K0 = zeros(m, m);           % 前馈增益矩阵初始值

% 初始分配参数空间
time = zeros(1, L);         % 用于记录仿真的时刻,对应绘图的横轴
yr = zeros(m, L);           % 输入信号(L个m维向量)
xp = zeros(n, L);           % 可调系统的状态向量(L个n维向量)
xm = zeros(n, L);           % 参考模型的状态向量(L个n维向量)
u = zeros(m, L);            % 控制信号(L个m维向量)
e = zeros(n, L);            % 系统的广义状态误差向量(L个n维向量)

for k = 1:L
    time(k) = k*h;
    % 输入信号
    yr(k) = 1*sin(0.01*pi*time(k))+4*sin(0.2*pi*time(k))+sin(1*pi*time(k));
    xp(:,k) = xp0+h*(Ap*xp0+Bp*u0);     % 计算xp
    xm(:,k) = xm0+h*(Am*xm0+Bm*yr0);    % 计算xm
    e(:,k) = xm(:,k)-xp(:,k);           % e=xm-xp
    
    % 代入F和K的自适应控制规律
    F = F0+h*(Bp'*P*e0*xp0');
    K = K0+h*(Bp'*P*e0*yr0);

    % 控制信号u=K*r+F*xp(K是前馈增益矩阵,F是反馈增益矩阵)
    u(:,k) = K*yr(k)+F*xp(:,k);
    
    % 将本轮求解得到的参数赋值给参数初始值,方便下一轮迭代使用
    yr0 = yr(:,k);
    u0 = u(:,k);
    e0 = e(:,k);
    xp0 = xp(:,k);
    xm0 = xm(:,k);
    F0 = F;
    K0 = K;
end

subplot(2,1,1);
plot(time, xm(1,:), 'Color', 'b', 'LineWidth', 0.9);
hold on
plot(time, xp(1,:), 'Color', 'r', 'LineStyle', '--', 'LineWidth', 1.1);
xlabel('t');
ylabel('x_m_1(t)、x_p_1(t)');
legend('x_m_1(t)','x_p_1(t)');
hold off
subplot(2,1,2);
plot(time, xm(2,:), 'Color', 'b', 'LineWidth', 0.9)
hold on
plot(time, xp(2,:), 'Color', 'r', 'LineStyle', '--', 'LineWidth', 1.1)
xlabel('t');
ylabel('x_m_2(t)、x_p_2(t)');
legend('x_m_2(t)', 'x_p_2(t)');
hold off

bibliografía

Li Yanjun, Zhang Ke. Teoría y aplicación del control adaptativo[M].Northwestern Polytechnical University Press, 2005.

Supongo que te gusta

Origin blog.csdn.net/alan1ly/article/details/126056136
Recomendado
Clasificación