基于状态空间方程和置根法的汽车的匀速巡航控制.docx

上传人:b****6 文档编号:4371591 上传时间:2022-12-01 格式:DOCX 页数:11 大小:135.52KB
下载 相关 举报
基于状态空间方程和置根法的汽车的匀速巡航控制.docx_第1页
第1页 / 共11页
基于状态空间方程和置根法的汽车的匀速巡航控制.docx_第2页
第2页 / 共11页
基于状态空间方程和置根法的汽车的匀速巡航控制.docx_第3页
第3页 / 共11页
基于状态空间方程和置根法的汽车的匀速巡航控制.docx_第4页
第4页 / 共11页
基于状态空间方程和置根法的汽车的匀速巡航控制.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

基于状态空间方程和置根法的汽车的匀速巡航控制.docx

《基于状态空间方程和置根法的汽车的匀速巡航控制.docx》由会员分享,可在线阅读,更多相关《基于状态空间方程和置根法的汽车的匀速巡航控制.docx(11页珍藏版)》请在冰豆网上搜索。

基于状态空间方程和置根法的汽车的匀速巡航控制.docx

基于状态空间方程和置根法的汽车的匀速巡航控制

基于状态空间方程和置根法的汽车的匀速巡航控制

框图如下:

传递函数为:

利用置根法的Matlab程序求反馈系数矩阵K,并输出响应结果:

m=1000;b=50;t=0:

0.1:

10;r=ones(size(t));A=[-b/m];B=[1/m];C=[1];D=[0];sys=ss(A,B,C,D);x0=[0];p1=-1.5;K=place(A,B,[p1])sys_cl=ss(A-B*K,B,C,D);lsim(sys_cl,r,t,x0);axis([01000.35])

 

加比例系数补偿稳态误差:

求补偿系数的函数如下:

function[Nbar]=rscale(a,b,c,d,k)

%Giventhesingle-inputlinearsystem:

%.

%x=Ax+Bu

%y=Cx+Du

%andthefeedbackmatrixK,

%

%thefunctionrscale(sys,K)orrscale(A,B,C,D,K)

%findsthescalefactorNwhichwill

%eliminatethesteady-stateerrortoastepreference

%foracontinuous-time,single-inputsystem

%withfull-statefeedbackusingtheschematicbelow:

%

%/---------\

%R+u|.|

%--->N--->()---->|X=Ax+Bu|-->y=Cx--->y

%-|\---------/

%||

%|<----K<----|

%

%8/21/96YanjieSunoftheUniversityofMichigan

%underthesupervisionofProf.D.Tilbury

%6/12/98JohnYook,DawnTilburyrevisederror(nargchk(2,5,nargin));

%---Determinewhichsyntaxisbeingused---nargin1=nargin;

if(nargin==2),%Systemform

[A,B,C,D]=ssdata(a);K=b;

elseif(nargin==5),%A,B,C,DmatricesA=a;

A=a;

B=b;

C=c;

D=d;

K=k;

else

error('Inputmustbeoftheform(sys,K)or(A,B,C,D,K)')

end;

%computeNbars=size(A,1);

s=size(A,1);

Z=[zeros([1,s])1];

N=inv([A,B;C,D])*Z';

Nx=N(1:

s);

Nu=N(1+s);

Nbar=Nu+K*Nx;

 

加入控制系统得到:

Nbar=rscale(sys,K);sys_cl=ss(A-B*K,B*Nbar,C,D);rnew=r*10;lsim(sys_cl,rnew,t,x0);axis([010011])

直流电机的速度控制

1.建模:

(J)转子的惯性常量0.01kg.m^2

(b)电机摩擦系数0.1N.m.s

(Ke)电生电动势常数0.01V/rad/sec

(Kt)力矩常数0.01N.m/Amp

(R)电阻1Ohm

(L)电感0.5H

 

传递函数模型:

 

状态空间模型:

 

 

控制算法:

1.PID控制:

 

J=0.01;b=0.1;K=0.01;R=1;L=0.5;s=tf('s');P_motor=K/((J*s+b)*(L*s+R)+K^2);

PID控制器模型:

(1)比例控制

Kp=100;C=pid(Kp);sys_cl=feedback(C*P_motor,1);

t=0:

0.01:

5;step(sys_cl,t)gridtitle('StepResponsewithProportionalControl')

 

(2)PID控制

Kp=75;Ki=1;Kd=1;C=pid(Kp,Ki,Kd);sys_cl=feedback(C*P_motor,1);step(sys_cl,[0:

1:

200])title('PIDControlwithSmallKiandSmallKd')

调整参数:

Kp=100;Ki=200;Kd=1;C=pid(Kp,Ki,Kd);sys_cl=feedback(C*P_motor,1);step(sys_cl,0:

0.01:

4)gridtitle('PIDControlwithLargeKiandSmallKd')

2.状态空间方程控制

J=0.01;b=0.1;K=0.01;R=1;L=0.5;A=[-b/JK/J-K/L-R/L];B=[01/L];C=[10];D=0;sys=ss(A,B,C,D);

1.求反馈控制系数k

 

 

(1)判断能控性

sys_order=order(sys)sys_rank=rank(ctrb(A,B))

(2)利用置根法求反馈矩阵K

p1=-5+1i;p2=-5-1i;Kc=place(A,B,[p1p2])

t=0:

0.01:

3;sys_cl=ss(A-B*Kc,B,C,D);step(sys_cl,t)gridtitle('StepResponsewithState-FeedbackController')

(3)加上比例常数补偿:

 

Nbar=rscale(sys,Kc)

t=0:

0.01:

10;step(sys_cl*Nbar,t)gridtitle('StepResponsewithState-FeedbackControllerandPrecompensator')

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 初中教育

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1