matlab预测控制工具箱
一、设计示例
注:示例均为matlab自带
1、伺服系统控制器的设计
图4-1 位置伺服系统原理图
(1)伺服系统数学模型
位置伺服系统由直流电机、变速箱、弹性轴、负载等组成(见图4-1)。可用如下微分方程来描述:
上式中的变量定义及取值见表4-1。
将上述微分方程写成状态方程形式,有
其中,。
(2)控制目标及约束
控制目标:在电压V的控制下,使过载角位置跟踪指定值。输出量仅有可观测。
弹性轴承受的强度有一定的限制,因此对输出力矩T的赋值作一定约束:
对输入电压的约束:
该系统有一个输入V,两个输出:(可测量)和T(不可测量)。
(3)在matlab中定义该系统的状态空间模型
首先需要在matlab中对系统的数学模型进行定义。可以直接在命令行输入mpcmotormodel(建议做法),也可以在命令行中输入下列命令:
% DC-motor with elastic shaft
%
%Parameters (MKS)
%-----------------------------------------------------------
Lshaft=1.0;      %Shaft length
dshaft=0.02;    %Shaft diameter
shaftrho=7850;  %Shaft specific weight (Carbon steel)
G=81500*1e6;    %Modulus of rigidity
tauam=50*1e6;    %Shear strength
Mmotor=100;      %Rotor mass
Rmotor=.1;      %Rotor radius
Jmotor=.5*Mmotor*Rmotor^2; %Rotor axial moment of inertia                      Bmotor=0.1;      %Rotor viscous friction coefficient (A CASO)
R=20;            %Resistance of armature
Kt=10;          %Motor constant
gear=20;        %Gear ratio
Jload=50*Jmotor; %Load inertia
Bload=25;        %Load viscous friction coefficient
Ip=pi/32*dshaft^4;              %Polar momentum of shaft
(circular) section
Kth=G*Ip/Lshaft;                %Torsional rigidity
(Torque/angle)
Vshaft=pi*(dshaft^2)/4*Lshaft;  %Shaft volume
Mshaft=shaftrho*Vshaft;          %Shaft mass
Jshaft=Mshaft*.5*(dshaft^2/4);  %Shaft moment of inertia
JM=Jmotor;
3d预测专家推荐JL=Jload+Jshaft;
Vmax=tauam*pi*dshaft^3/16; %Maximum admissible torque
Vmin=-Vmax;
%Input/State/Output continuous time form
%----------------------------------------------------------
AA=[0            1            0                0;
-Kth/JL      -Bload/JL    Kth/(gear*JL)    0;
0            0            0                1;
Kth/(JM*gear) 0            -Kth/(JM*gear^2)
-(Bmotor+Kt^2/R)/JM];
BB=[0;0;0;Kt/(R*JM)];
Hyd=[1 0 0 0];
Hvd=[Kth 0 -Kth/gear 0];
Dyd=0;
Dvd=0;
% Define the LTI state-space model
sys=ss(AA,BB,[Hyd;Hvd],[Dyd;Dvd]);
(4)利用MPCTOOL界面设计控制器
第一步:导入模型
在命令行窗口中输入mpctool,工具箱界面出来后点击Imort Plant…,此时界面如4-2所示。
图4-2 Import Dialog Box with the Servomechanism Model Selected 此时先前定义的伺服系统数学模型sys默认被选中,Properties列出了该模型的主要属性。
点击Import,导入数学模型,见4-3所示。
第二步:设置属性
系统的数学模型导入后,需要对输入变量和输出变量的属性做一些修改,使之符合实际情况。默认情况下,输入变量类型均是manipulated,本例中不需要修改。默认输出变量类
型是measured,本例的两个输出变量中,可测量,T不可测量,需要相应修改。
可以修改输入变量和输出变量的名称,增加描述性内容,设置单位和初始值。此处将In1,Out1,Out2修改为V,ThetaL,T,其它修改见图4-3。
图4-3 Design Tool After Importing the Plant Model and Specifying Signal Properties 本例中的模型为连续系统,需要将之变为离散系统。选中MPCdesign---Controllers---MPC1---Model and Horizons,将Control interval(time units)(采样周期)改为0.1,其它设置不变,见图4-4。