基于趋近律的滑模控制matlab仿真实例

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于趋近律的滑模控制

一、基于趋近律的滑模控制 1、控制器的设计 针对状态方程

Bu Ax x

+= (1) 采用趋近律的控制方式,控制律推导如下:

Cx s = (2)

slaw x C s == (3) 其中slaw 为趋近律。

将状态方程式(1)代人(2)得

)()(1s

CAx CB u +-=- (4) 可见,控制器的抖振程度取决于趋近律s 表达式中的切换项。 2、仿真实例

对象为二阶传递函数: as

s b

s G p +=2

)( 其中a=25, b=133。

)(s Gp 可表示为如下状态方程:

Bu Ax x

+= 其中⎢⎣

⎡=00A ⎥⎦⎤

-251 , ⎥⎦⎤⎢⎣⎡=1330B 。 在仿真程序中,M=1为等速趋近律,M=2为指数趋近律,M=3为幂次趋近律,M=4为一般趋近律。取M=2,采用指数趋近律,其中C=[15,1] , ε=5,k=10,作图取样时间为0.001,仿真程序如下。 二、程序 主程序chap2_4.m clear all; close all;

global M A B C eq k

ts=0.001;

T=2;

TimeSet=[0:ts:T];

c=15;

C=[c,1];

para=[c];

[t,x]=ode45('chap2_4eq',TimeSet,[0.50 0.50],[],para);

x1=x(:,1);

x2=x(:,2);

s=c*x(:,1)+x(:,2);

if M==2

for kk=1:1:T/ts+1

xk=[x1(kk);x2(kk)];

sk(kk)=c*x1(kk)+x2(kk);

slaw(kk)=-eq*sign(sk(kk))-k*sk(kk); %Exponential trending law

u(kk)=inv(C*B)*(-C*A*xk+slaw(kk));

end

end

figure(1);

plot(x(:,1),x(:,2),'r',x(:,1),-c*x(:,1),'b');

xlabel('x1');ylabel('x2');

figure(2);

plot(t,x(:,1),'r');

xlabel('time(s)');ylabel('x1');

figure(3);

plot(t,x(:,2),'r');

xlabel('time(s)');ylabel('x2');

figure(4);

plot(t,s,'r');

xlabel('time(s)');ylabel('s');

if M==2

figure(5);

plot(t,u,'r');

xlabel('time(s)');ylabel('u');

end

子程序chap2_4eq.m

function dx=DynamicModel(t,x,flag,para)

global M A B C eq k

a=25;b=133;

c=para(1);

s=c*x(1)+x(2);

A=[0 1;0 -a];

B=[0;b];

M=2;

eq=5.0;

if M==2 % M=1为等速趋近律,M=2为指数趋近律,

M=3为幂次趋近律,M=4为一般趋近律slaw=-eq*sign(s); %Equal velocity trending law

elseif M==2

k=10;

slaw=-eq*sign(s)-k*s; %Exponential velocity trending law

elseif M==3

k=10;

alfa=0.50;

slaw=-k*abs(s)^alfa*sign(s); %Power trending law

elseif M==4

k=1;

slaw=-eq*sign(s)-k*s^3; %General trending law

end

u=inv(C*B)*(-C*A*x+slaw); dx=zeros(2,1); dx(1)=x(2); dx(2)=-a*x(2)+b*u;

三、仿真结果

(1)M=2时,指数趋近律

x1

x 2

图1 滑模运动的相轨迹

0.20.40.60.8

1 1.

2 1.4 1.6 1.82

time(s)

x 1

图2 x 1 的收敛过程

00.20.40.60.8

1 1.

2 1.4 1.6 1.8

2

-2.5

-2

-1.5

-1

-0.5

0.5

time(s)

x 2

图3 x 2 的收敛过程

s

00.20.40.60.81 1.2 1.4 1.6 1.82

time(s)

图4 切换函数s Array

u

00.20.40.60.81 1.2 1.4 1.6 1.82

time(s)

图5 控制器输出

(2)M=1时,等速趋近律

相关文档
最新文档