主要内容

质量-弹簧-阻尼器系统的间接 MRAC 控制

此示例说明如何在 Simulink® 中使用间接模型参考自适应控制 (MRAC) 系统对二阶质量-弹簧-阻尼器系统进行模型参数估计。质量-弹簧-阻尼器系统的属性未知。间接 MRAC 控制器估计被控对象参数,并实现基于逆的控制器来跟踪参考模型。

质量-弹簧-阻尼器模型

质量-弹簧-阻尼器系统由质量为 m1m2 的两个小车组成,这两个小车通过刚度系数为 c0c1 的弹簧以及阻尼系数为 d 的阻尼器相互连接并接地。

mass-spring-damper.png

定义弹簧-质量-阻尼系统的未知动态系统可表示如下。

  x(t)˙=Ax(t)+Bu(t)

A=[0100-(c0+c1)m1-2dm1c1m1dm10001c1m2dm2-c1m2-2dm2],B=[001m100001m2]

其中:

  • x=[p1,p1˙,p2,p2˙] 是系统状态向量。

  • p1p2 是质量的位置。

  • AB 是未知系统的参数。

假定有以下未知非线性系统,我们的目标是设计一个控制器以便能够跟踪以下参考系统。

xm˙(t)=Amxm(t)+Bmr(t)

Am=[0100-25-1000000100-25-10],Bm=[0025000025]

其中:

  • xm 包含参考模型状态。

  • AmBm 是参考系统的参数。

  • r(t) 是用户提供的参考信号。

参考跟踪控制器

间接 MRAC 控制器使用一个估计器模型来计算 AˆBˆ,它们分别是未知系统参数 AB 的估计值。

xˆ˙=Aˆx(t)+Bˆu(t)

为了计算控制动作 u(t),控制器使用前馈增益 kr 和反馈增益 kx

u(t)=-kxx(t)+krr(t)

控制器增益派生自参考模型参数(AmBm)和估计的观测器参数(AˆBˆ)。

kr=BmBˆkx=1Bˆ(Am-Aˆ)

配置控制器

指定质量-弹簧-阻尼器系统的真实刚度系数、阻尼系数和质量。

% Stiffness
c0 = 1;
c1 = 1;
% Damping
d = 1;
% Mass
m1 = 5;
m2 = 1;

使用这些系统参数定义实际的系统动态特性。

A = [0 1 0 0;-(c0+c1)/m1 -2*d/m1 c1/m1 d/m1;
    0 0 0 1;c1/m2 d/m2 -c1/m2 -2*d/m2]
A = 4×4

         0    1.0000         0         0
   -0.4000   -0.4000    0.2000    0.2000
         0         0         0    1.0000
    1.0000    1.0000   -1.0000   -2.0000

B = [0 0;1/m1 0;0 0;0 1/m2]
B = 4×2

         0         0
    0.2000         0
         0         0
         0    1.0000

此真实模型对于间接 MRAC 控制器是未知的。在这种情况下,控制器使用估计器模型来估计未知的被控对象动态特性。在运行期间,控制器可以自适应此模型的参数以改进它对未知系统参数的估计。

Ahat = [0 1 0 0;0 0 0 0;0 0 0 1;0 0 0 0];
Bhat = [0 0.1;0.1 0;0 0;0.1 0.1];

控制器的目标是跟踪参考模型的性能。指定参考模型的参数。

Am = [0 1 0 0;-25 -10 0 0;0 0 0 1;0 0 -25 -10];
Bm = [0 0;25 0;0 0;0 25];

指定被控对象的初始条件。

x_0 = 0;

指定用于更新估计器模型参数的学习率。

gamma_a = 0.1;  % Ahat learning rate
gamma_b = 0.1;  % Bhat learning rate

仿真控制器

打开 Simulink 模型。

mdl = "mracMassSpringDamper";
open_system(mdl)

在此模型中:

  • Actual Plant Model 模块实现质量-弹簧-阻尼器系统的标称模型。

  • Reference 模块为两个质量生成参考信号。

  • Model Reference Adaptive Control 模块输出控制动作 u,它是使用估计器模型派生的。

虽然 MRAC 控制器也可以估计受控系统中的未知扰动,但对于此示例,不存在这样的扰动。此时,控制器的目标仅仅是估计未知被控对象模型的参数。有关使用直接 MRAC 控制器估计未知扰动的示例,请参阅Model Reference Adaptive Control of Aircraft Undergoing Wing Rock

仿真模型。

Tf = 100;
sim(mdl);

查看实际被控对象状态,即质量的位置,以及相应的参考信号。该控制器能够使实际被控对象状态跟踪参考信号。

open_system(mdl + "/p1")

open_system(mdl + "/p2")

Model Reference Adaptive Controller 模块配置为分别使用 AhatBhat 输出端口输出估计器模型的参数 AˆBˆ。绘制参数图。

open_system(mdl + "/Ahat")

open_system(mdl + "/Bhat")

随着时间的推移,控制器会自适应估计器参数的值。然而,由于参考信号中缺乏持续激励,估计的参数没有收敛到真实参数。尽管模型参数没有收敛,但控制器仍然收敛到参考行为。

另请参阅

模块

主题